Publishes the draft: its content becomes the published document.
import app from '@adonisjs/core/services/app'import { SiteClient } from '@fetchski/attract-cms-sdk'const site = await app.container.make(SiteClient)const blog = await site.blogPosts().publishBlog({ id: 'clx8m2k4p0000a1b2c3d4e5f6' })
import app from '@adonisjs/core/services/app'import { SiteClient } from '@fetchski/attract-cms-sdk'const site = await app.container.make(SiteClient)const blog = await site.blogPosts().publishBlog({ id: 'clx8m2k4p0000a1b2c3d4e5f6' })
A controller answers a route on your app: it calls publishBlog() and returns the answer.
Add the controller
app/controllers/publish_blog_controller.ts
import { inject } from '@adonisjs/core'import type { HttpContext } from '@adonisjs/core/http'import { SiteClient } from '@fetchski/attract-cms-sdk'@inject()export default class PublishBlogController { constructor(protected site: SiteClient) {} async handle({ params }: HttpContext) { return this.site.blogPosts().publishBlog({ id: params.id }) }}
Add the route
start/routes.ts
import router from '@adonisjs/core/services/router'const PublishBlogController = () => import('#controllers/publish_blog_controller')router.post('/blog/:id/publish', [PublishBlogController])
Put it behind your auth middleware (.use(middleware.auth())): it acts with your key’s access.
Call it
Your own page’s form or script sends POST /blog/clx8m2k4p0000a1b2c3d4e5f6/publish and gets back its answer as JSON. Test it, below, calls it.
Answers the draft.
Find the id
id is the document’s _id, from a list. Ask the list for only the fields you need: each row is a document’s id and those fields.
AdonisJS
import app from '@adonisjs/core/services/app'import { SiteClient } from '@fetchski/attract-cms-sdk'const site = await app.container.make(SiteClient)const row = (await site.blogPosts().listBlogsPick(['title', 'slug'])).find((each) => each.slug === 'getting-started') // { id, title, slug }, or undefined
Pass row.id as id. Drafts: list with { aposMode: 'draft' } to get the draft’s id (Find an id).
Required parameters
One object, e.g. publishBlog({ id }); leave out the optional fields.
string
required
Required. The document’s _id: a full id names its own locale and mode (the draft’s …:en:draft, the published one’s …:en:published; no aposMode needed), a bare aposDocId takes the request’s (aposLocale, aposMode).
Returns
A Blog. Blog content type. Read its properties (blog.title): each says whether the site always sends it. The example answer is the site’s wire JSON: some keys differ from the property names (_id → id, _author → author, _category → category …).
string
Always sent. Its title: the name it goes by in every list, and the heading of its page where it has one.
Date
Always sent. The post’s publication date (YYYY-MM-DD, e.g. 2026-10-21): the date it shows, and its place in the blog list, newest first. Format: an ISO 8601 date (YYYY-MM-DD).
string
Always sent. The document’s id. On a type with drafts it ends in its locale and mode (…:en:published, …:en:draft): the part before the first colon is its aposDocId, shared by both copies. The {_id} the type’s routes take.
string
Always sent. The document type’s name: always this type’s.
Sometimes sent:undefined when the site leaves it out, and it can be null. Credited author. Pick from the Authors collection — their profile photo shows alongside the post. The related author documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
Sometimes sent:undefined when the site leaves it out, and it can be null. The post’s category. Manage the list (and each badge color) under Blog Categories. The related blog-category documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The URL name: lowercase words joined by hyphens (letters outside a–z, even emoji, are kept).
Visibility | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Select whether this content is public or private. One of public, loginRequired; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. An ISO 8601 date and time, e.g. 2026-10-21T14:30:00.000Z.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. An ISO 8601 date and time, e.g. 2026-10-21T14:30:00.000Z.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Short teaser shown on the blog index and homepage. 1–2 sentences.
ImageArea
Sometimes sent:undefined when the site leaves it out. An ImageArea. Widgets, top to bottom: send { "items": [ … ] }, one object per widget with its type. Writing it replaces the whole area.
Show ImageArea
AfterContentAreaMetaType
Sometimes sent:undefined when the site leaves it out. Always area. One of area; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The area’s id, set by the site: leave it out when you write one.
readonly ImageWidget[]
Sometimes sent:undefined when the site leaves it out. A list of ImageWidget. The widgets, top to bottom. Each is an object with its type and that widget’s own fields; _id and metaType may be left out (the site sets them). At most 1 items.
Show ImageWidget
A @apostrophecms/image widget: its type and its own fields. A field left out takes its default.
ImageWidgetType
Always sent. The widget’s type: always @apostrophecms/image. One of @apostrophecms/image; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Caption.
LinkTo | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Link To… One of none, @apostrophecms/any-page-type, _url; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. The related @apostrophecms/any-page-type documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. apostrophe:linkHrefHelp When set, a URL; empty or null when not.
string
Sometimes sent:undefined when the site leaves it out. Link Title.
string
Sometimes sent:undefined when the site leaves it out. If empty, the title of the related document will be used.
readonly LinkTarget[] | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Link Target. Each one of _blank.
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot.
Show CustomCSS
Readonly<Record<string, string>>
Sometimes sent:undefined when the site leaves it out. The CSS typed into each part slot, by slot name.
string
Sometimes sent:undefined when the site leaves it out. The compiled CSS (read only: rebuilt from slots).
string
Sometimes sent:undefined when the site leaves it out. The site’s check mark for css (read only).
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
BlogMainArea
Sometimes sent:undefined when the site leaves it out. A BlogMainArea. Widgets, top to bottom: send { "items": [ … ] }, one object per widget with its type. Writing it replaces the whole area. A new document starts with @apostrophecms/rich-text.
Show BlogMainArea
AfterContentAreaMetaType
Sometimes sent:undefined when the site leaves it out. Always area. One of area; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The area’s id, set by the site: leave it out when you write one.
readonly BlogMainAreaItem[]
Sometimes sent:undefined when the site leaves it out. A list of BlogMainAreaItem. The widgets, top to bottom. Each is an object with its type and that widget’s own fields; _id and metaType may be left out (the site sets them).
Show BlogMainAreaItem
A widget in an area that takes @apostrophecms/rich-text, @apostrophecms/image, @apostrophecms/video, @apostrophecms/layout, intro, feature, stats, steps, pricing, media-text, device-mock, faq: the one its type names.
Show RichTextWidget
A @apostrophecms/rich-text widget: its type and its own fields. A field left out takes its default.
RichTextWidgetType
Always sent. The widget’s type: always @apostrophecms/rich-text. One of @apostrophecms/rich-text; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The text as HTML, e.g. <h2>Our story</h2><p>It began with <strong>one</strong> idea.</p>. The site keeps the tags and styles this area’s editor offers (paragraphs, headings, bold, italic, links, lists…) and removes the rest.
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show ImageWidget
A @apostrophecms/image widget: its type and its own fields. A field left out takes its default.
ImageWidgetType
Always sent. The widget’s type: always @apostrophecms/image. One of @apostrophecms/image; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Caption.
LinkTo | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Link To… One of none, @apostrophecms/any-page-type, _url; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. The related @apostrophecms/any-page-type documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. apostrophe:linkHrefHelp When set, a URL; empty or null when not.
string
Sometimes sent:undefined when the site leaves it out. Link Title.
string
Sometimes sent:undefined when the site leaves it out. If empty, the title of the related document will be used.
readonly LinkTarget[] | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Link Target. Each one of _blank.
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show VideoWidget
A @apostrophecms/video widget: its type and its own fields. A field left out takes its default.
VideoWidgetType
Always sent. The widget’s type: always @apostrophecms/video. One of @apostrophecms/video; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always sent. Enter the URL for a media source you wish to embed (e.g., YouTube, Vimeo, or other hosted video URL).
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show LayoutWidget
A @apostrophecms/layout widget: its type and its own fields. A field left out takes its default.
LayoutWidgetType
Always sent. The widget’s type: always @apostrophecms/layout. One of @apostrophecms/layout; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
LayoutColumnArea
Sometimes sent:undefined when the site leaves it out. A LayoutColumnArea. Widgets, top to bottom: send { "items": [ … ] }, one object per widget with its type. Writing it replaces the whole area.
Show LayoutColumnArea
AfterContentAreaMetaType
Sometimes sent:undefined when the site leaves it out. Always area. One of area; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The area’s id, set by the site: leave it out when you write one.
readonly LayoutColumnWidget[]
Sometimes sent:undefined when the site leaves it out. A list of LayoutColumnWidget. The widgets, top to bottom. Each is an object with its type and that widget’s own fields; _id and metaType may be left out (the site sets them).
Show LayoutColumnWidget
A @apostrophecms/layout-column widget: its type and its own fields. A field left out takes its default.
LayoutColumnWidgetType
Always sent. The widget’s type: always @apostrophecms/layout-column. One of @apostrophecms/layout-column; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
number | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colstart.
number | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colspan.
number | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Rowstart.
number | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Rowspan.
number | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Order.
LayoutColumnContentArea
Sometimes sent:undefined when the site leaves it out. A LayoutColumnContentArea. Widgets, top to bottom: send { "items": [ … ] }, one object per widget with its type. Writing it replaces the whole area.
Show LayoutColumnContentArea
AfterContentAreaMetaType
Sometimes sent:undefined when the site leaves it out. Always area. One of area; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The area’s id, set by the site: leave it out when you write one.
readonly LayoutColumnContentAreaItem[]
Sometimes sent:undefined when the site leaves it out. A list of LayoutColumnContentAreaItem. The widgets, top to bottom. Each is an object with its type and that widget’s own fields; _id and metaType may be left out (the site sets them). Its fields are listed under the first LayoutColumnContentAreaItem above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
boolean
Sometimes sent:undefined when the site leaves it out. Visible on tablet.
boolean
Sometimes sent:undefined when the site leaves it out. Visible on mobile.
Justify | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Horizontal alignment. One of stretch, start, end, center; a newer site may send others, so keep a fallback.
Align | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vertical alignment. One of stretch, start, end, center; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show IntroWidget
A intro widget: its type and its own fields. A field left out takes its default.
IntroWidgetType
Always sent. The widget’s type: always intro. One of intro; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Small label shown above the title.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the mint default.
IntroEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
IntroEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Headline.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the headline color. Leave empty to track the theme’s text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the theme default.
IntroHeadlineWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Headline weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Body copy.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the body text color. Leave empty for the muted default.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the muted default.
IntroBodyWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Body weight. One of normal, medium, semibold, bold; a newer site may send others, so keep a fallback.
IntroPhotoPlacement | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the optional photo sits. Left/right place it beside the text; Full background fills the whole section behind the text (with a readability overlay). One of none, left, right, background; a newer site may send others, so keep a fallback.
ImageArea
Sometimes sent:undefined when the site leaves it out. An ImageArea. Widgets, top to bottom: send { "items": [ … ] }, one object per widget with its type. Writing it replaces the whole area. Its fields are listed under the first ImageArea above.
IntroPhotoCorners | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Photo corners. One of rounded, squared; a newer site may send others, so keep a fallback.
IntroPhotoFrame | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Border draws a frame around the photo; Offset adds a refined offset accent frame behind it. One of none, border, offset; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Border / offset-frame color. Leave empty to use the site accent color.
IntroPhotoTilt | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A slight rotation for a more playful look. One of none, left, right; a newer site may send others, so keep a fallback.
IntroPhotoHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Photo hover effect. One of none, lift, zoom, tilt, glow, lift-glow, zoom-glow; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Scrim behind the text over a full-background photo. Leave empty to use the dark surface color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme overlay, then the light surface color.
number | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Overlay opacity (%). 0 to 100.
IntroBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
IntroBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly IntroWidgetIntroFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of IntroWidgetIntroFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show IntroWidgetIntroFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of IntroWidgetIntroFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show IntroWidgetIntroFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show FeatureWidget
A feature widget: its type and its own fields. A field left out takes its default.
FeatureWidgetType
Always sent. The widget’s type: always feature. One of feature; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
FeatureColumns | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Auto fits as many as comfortably fit and works for any number of cards. Or lock a maximum per row. One of auto, 2, 3, 4; a newer site may send others, so keep a fallback.
FeatureGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Gap between cards. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
FeatureCardSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Scales padding, icon, title, and the index numeral together. One of small, medium, large; a newer site may send others, so keep a fallback.
FeatureCardStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The card treatment. Poster (the default) frames the card with an accent keyline; Raised is a quiet lit card; Luxe a frosted glass panel; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of raised, luxe, outline, plain, poster, edge, tint, ticket, bracket, forge, press, inlay; a newer site may send others, so keep a fallback.
FeatureCardStyleRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of default, square, slight, rounded, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FeatureCardStyleForgeScope | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of corner, frame; a newer site may send others, so keep a fallback.
FeatureCardStyleForgeWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Thickness of the Forge corner mark / colored frame. One of fine, medium, bold; a newer site may send others, so keep a fallback.
FeatureCardHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How a card reacts on hover. Pop is the lift + hard offset shadow; Glow is a soft accent halo. One of none, lift, pop, glow, border; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Border / shadow / glow color on hover. Leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the accent.
boolean
Sometimes sent:undefined when the site leaves it out. A big outlined numeral on each card (01, 02, …). Great for step-by-step sequences; turn off when the cards aren’t ordered.
FeatureNumberFill | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Same treatment as the hero ghost text: all numbers solid, outlined and filling on hover, or always outlined. One of solid, hover, outline; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Tints the numeral fill + outline. Leave empty to track the theme’s text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the theme default.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the card title color. Leave empty to track the theme’s text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the theme default.
FeatureTitleWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Title weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the card text color. Leave empty for the muted default.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the muted default.
FeatureTextWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Text weight. One of normal, medium, semibold, bold; a newer site may send others, so keep a fallback.
readonly FeatureWidgetFeatureCardsItem[]
Sometimes sent:undefined when the site leaves it out. A list of FeatureWidgetFeatureCardsItem. Feature cards.
Show FeatureWidgetFeatureCardsItem
string
Always sent. Title.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
IconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the design’s own color rhythm.
IconAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon animation. One of none, fa-beat, fa-bounce, fa-fade, fa-beat-fade, fa-flip, fa-shake, fa-spin; a newer site may send others, so keep a fallback.
IconSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Relative to the component’s base icon size. One of default, sm, lg, xl, 2xl, 2x, 3x, 4x, 5x; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Text.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
FeatureBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
FeatureBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly FeatureWidgetFeatureFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of FeatureWidgetFeatureFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show FeatureWidgetFeatureFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of FeatureWidgetFeatureFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show FeatureWidgetFeatureFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show StatsWidget
A stats widget: its type and its own fields. A field left out takes its default.
StatsWidgetType
Always sent. The widget’s type: always stats. One of stats; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A small label above the heading (e.g. “By the numbers”).
string
Sometimes sent:undefined when the site leaves it out. Eyebrow.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StatsEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
StatsEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional. Leave empty to show just the numbers.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StatsHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
StatsColumns | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Auto fits as many as comfortably fit and works for any number of stats. Or lock a maximum per row. One of auto, 2, 3, 4; a newer site may send others, so keep a fallback.
StatsGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Gap between stats. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
StatsSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The baseline scale for the whole stat (value / icon / label / description stay proportional). Fine-tune any single element with its own size control below. One of small, medium, large; a newer site may send others, so keep a fallback.
StatsAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Alignment. One of center, left; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A hairline rule between each stat — the classic “by the numbers” rail.
boolean
Sometimes sent:undefined when the site leaves it out. Numbers tick up from zero when the band scrolls into view. Non-numeric values and reduced-motion visitors simply show the final value.
StatsIconSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size of the icon above each number, independent of the overall stat size. One of auto, sm, md, lg, xl, xxl; a newer site may send others, so keep a fallback.
StatsIconGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Space between the icon and the number below it. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
StatsValueSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Value size. One of auto, xs, sm, md, lg, xl; a newer site may send others, so keep a fallback.
StatsValueWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Value weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The big numeral. Optional — leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the accent.
StatsLabelSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Label size. One of auto, xs, sm, md, lg, xl; a newer site may send others, so keep a fallback.
StatsLabelWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Label weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StatsDescriptionSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Description size. One of auto, xs, sm, md, lg, xl; a newer site may send others, so keep a fallback.
StatsDescriptionWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Description weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
readonly StatsWidgetStatsItem[]
Sometimes sent:undefined when the site leaves it out. A list of StatsWidgetStatsItem. Stats.
Show StatsWidgetStatsItem
string
Always sent. The number, e.g. 500, 4.9, 12 — symbols go in the prefix/suffix so the count-up animates the number alone.
string
Always sent. Label.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
string
Sometimes sent:undefined when the site leaves it out. Optional Font Awesome icon shown above the number (e.g. star, bolt, chart-line). Leave empty for no icon.
IconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the design’s own color rhythm.
string
Sometimes sent:undefined when the site leaves it out. Optional, shown before the number (e.g. $, ~, >). Kept out of the count-up.
string
Sometimes sent:undefined when the site leaves it out. Optional, shown after the number (e.g. +, %, k, yrs, ★).
string
Sometimes sent:undefined when the site leaves it out. Optional small text under the label.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
StatsBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
StatsBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly StatsWidgetStatsFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of StatsWidgetStatsFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show StatsWidgetStatsFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of StatsWidgetStatsFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show StatsWidgetStatsFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
StatsCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
StatsCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
StatsCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
StatsCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
StatsCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
StatsCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
StatsCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show StepsWidget
A steps widget: its type and its own fields. A field left out takes its default.
StepsWidgetType
Always sent. The widget’s type: always steps. One of steps; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A small label above the heading (e.g. “How it works”).
string
Sometimes sent:undefined when the site leaves it out. Eyebrow.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StepsEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
StepsEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional. Leave empty to show just the steps.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StepsHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
StepsHeadingSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short sentence under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StepsIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
StepsIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
StepsLayout | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Horizontal lays the steps across a row (marker on top); Vertical stacks them as a classic timeline (marker on the left). One of horizontal, vertical; a newer site may send others, so keep a fallback.
StepsColumns | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Horizontal only. Auto fits as many as comfortably fit and works for any number of steps. Or lock a maximum per row. One of auto, 2, 3, 4; a newer site may send others, so keep a fallback.
StepsGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Gap between steps. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
StepsAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Horizontal only — aligns the section header and each step’s text. (Vertical is always left-aligned beside its marker.) One of center, left; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A line linking the step markers into a timeline (down the markers when vertical, across them when horizontal).
StepsCardStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Plain keeps the connector-linked timeline (just marker + text, no card). Every other style boxes each step — Raised is a quiet lit card, Luxe a frosted glass panel, Outline a plaque frame, Spine adds a color rail, Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of raised, luxe, outline, plain, poster, edge, tint, ticket, bracket, forge, press, inlay; a newer site may send others, so keep a fallback.
StepsCardStyleRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of default, square, slight, rounded, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StepsCardStyleForgeScope | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of corner, frame; a newer site may send others, so keep a fallback.
StepsCardStyleForgeWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Thickness of the Forge corner mark / colored frame. One of fine, medium, bold; a newer site may send others, so keep a fallback.
StepsCardHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. What a boxed step does on hover (applies when Step style is not Plain). Lift/Pop/Press/Glow/Outline are instant; Sheen sweeps a light across; Tilt, Magnetic and Spotlight follow the cursor (need site animations on). One of none, lift, pop, press, glow, border, sheen, tilt, magnetic, spotlight; a newer site may send others, so keep a fallback.
StepsMarker | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Number auto-counts 1, 2, 3…; Icon shows each step’s icon (falling back to the number when a step has none); None hides the marker badge. One of number, icon, none; a newer site may send others, so keep a fallback.
StepsMarkerStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Soft is a tinted accent badge; Filled is a solid accent badge; Outline is a bordered badge. One of soft, filled, outline; a newer site may send others, so keep a fallback.
StepsMarkerShape | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Marker shape. One of circle, rounded, square; a newer site may send others, so keep a fallback.
StepsMarkerSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Marker size. One of small, medium, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Color for the marker badge and the connector line. Leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme accent.
StepsTitleSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Title size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
StepsTitleWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Title weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StepsBodySize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Body size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
StepsBodyWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Body weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
readonly StepsWidgetStepsItemsItem[]
Sometimes sent:undefined when the site leaves it out. A list of StepsWidgetStepsItemsItem. Each item is one step in the process. They render in this order; the number marker counts automatically.
Show StepsWidgetStepsItemsItem
string
Always sent. Title.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
string
Sometimes sent:undefined when the site leaves it out. Optional Font Awesome icon for this step (e.g. calendar-check, circle-check, gear). Shown in the marker when the section marker is set to “Icon”; otherwise the step is numbered.
IconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the design’s own color rhythm.
string
Sometimes sent:undefined when the site leaves it out. Overrides the auto number for this step’s marker, e.g. “01” or “A”. Leave empty to auto-count.
string
Sometimes sent:undefined when the site leaves it out. Optional description under the title.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
StepsBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
StepsBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly StepsWidgetStepsFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of StepsWidgetStepsFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show StepsWidgetStepsFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of StepsWidgetStepsFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show StepsWidgetStepsFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
StepsCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
StepsCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
StepsCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
StepsCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
StepsCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
StepsCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
StepsCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show PricingWidget
A pricing widget: its type and its own fields. A field left out takes its default.
PricingWidgetType
Always sent. The widget’s type: always pricing. One of pricing; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A small label above the heading (e.g. “Pricing”).
string
Sometimes sent:undefined when the site leaves it out. Eyebrow.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
PricingEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
PricingEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional. Leave empty to show just the cards.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
PricingHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
PricingHeadingSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short sentence under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
PricingIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
PricingIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
PricingColumns | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Auto fits as many as comfortably fit and works for any number of cards. Or lock a maximum per row. One of auto, 2, 3, 4; a newer site may send others, so keep a fallback.
PricingGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Gap between cards. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
PricingCardStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The base treatment for every tier (a highlighted tier always gets its own bold framed look). Raised is a quiet lit card; Luxe a frosted glass panel; Outline a plaque frame; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of raised, luxe, outline, plain, poster, edge, tint, ticket, bracket, forge, press, inlay; a newer site may send others, so keep a fallback.
PricingCardStyleRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of default, square, slight, rounded, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
PricingCardStyleForgeScope | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of corner, frame; a newer site may send others, so keep a fallback.
PricingCardStyleForgeWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Thickness of the Forge corner mark / colored frame. One of fine, medium, bold; a newer site may send others, so keep a fallback.
PricingAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Aligns the section header and the text inside each card. One of center, left; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Stretch every card to the tallest one and pin each button to the bottom, so the cards line up even with uneven feature lists.
boolean
Sometimes sent:undefined when the site leaves it out. A check (included) or cross (not included) before each feature. Off = a plain list.
PricingCardHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How a card reacts to the pointer. Rise floats it up on an accent underglow; Selection ring previews the highlighted look + tints the price; Spotlight washes accent light over the price; Checklist lights up the ✓ marks one-by-one; Tilt is a 3-D parallax that only runs when site animations are on. One of none, rise, ring, spotlight, checklist, tilt; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Border / glow / spotlight / checkmark color on hover. Leave empty to use the highlight accent (then the site accent).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover accent.
PricingEntrance | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How the cards animate in as they scroll into view. Featured-led makes the highlighted tier settle last with a little emphasis (draws the eye to the recommended plan); Simple stagger fades them in evenly. Only plays when site animations are on (Site design → Motion) — otherwise the cards are simply shown. One of featured, stagger, none; a newer site may send others, so keep a fallback.
PricingNameSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size of each card’s name / title. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
PricingPriceSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size of the price amount (the period and price note scale with it). One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
PricingDescSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size of each card’s description blurb. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
PricingFeatureSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size of the feature list text (notes and check marks scale with it). One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Ribbon text shown on a highlighted tier that doesn’t set its own badge. Each tier can override it (or badge a non-highlighted tier) below. Leave empty for no automatic badge.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Color for the highlighted tier’s border + ring and each tier’s badge. Leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme accent.
readonly PricingWidgetPricingTiersItem[]
Sometimes sent:undefined when the site leaves it out. A list of PricingWidgetPricingTiersItem. Each card is one tier / package / service. Toggle “Highlight” on the one you want to stand out.
Show PricingWidgetPricingTiersItem
string
Always sent. Tier / package / service name — e.g. “Starter”, “Studio”, “Agency”.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
IconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the design’s own color rhythm.
IconAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon animation. One of none, fa-beat, fa-bounce, fa-fade, fa-beat-fade, fa-flip, fa-shake, fa-spin; a newer site may send others, so keep a fallback.
IconSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Relative to the component’s base icon size. One of default, sm, lg, xl, 2xl, 2x, 3x, 4x, 5x; a newer site may send others, so keep a fallback.
IconGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Breathing room below the icon, before the card name. One of none, small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. A small ribbon on the card, e.g. “Best value”, “Limited spots”. Overrides the default highlight badge for this tier; works on any tier, highlighted or not. Empty on a highlighted tier falls back to the section’s “Default highlight badge”.
boolean
Sometimes sent:undefined when the site leaves it out. Emphasize this tier — accent border + ring, a subtle lift, and the Featured button look.
TextAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How this card’s text lines up. Normal = the section default (a centered section keeps the feature list left-aligned, as now). Center also centers the feature list; Left / Right align everything that way. One of normal, left, center, right; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Free text, so it fits any model — “$45", "From $200”, “Custom”, “Call for quote”.
string
Sometimes sent:undefined when the site leaves it out. Shown after the price, e.g. ”/ month”, “per night”, “per session”. Leave empty for a flat price.
string
Sometimes sent:undefined when the site leaves it out. A small line under the price, e.g. “per seat”, “billed annually”, ”+ tax”.
string
Sometimes sent:undefined when the site leaves it out. A short blurb under the name.
Sometimes sent:undefined when the site leaves it out. A list of PricingWidgetPricingTiersItemFeaturesItem. The bullet list of what’s included.
Show PricingWidgetPricingTiersItemFeaturesItem
string
Always sent. Feature.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
boolean
Sometimes sent:undefined when the site leaves it out. On = a check mark; off = a crossed-out / muted line (e.g. a feature this tier lacks).
string
Sometimes sent:undefined when the site leaves it out. A small qualifier shown after the feature, e.g. “up to 5”, “add-on”.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
string
Sometimes sent:undefined when the site leaves it out. This card’s button text. Leave empty to use the shared button label (set in the Pricing · Buttons tab); clear it everywhere to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/contact-us) or full URL. Leave empty to inherit the shared button link.
boolean
Sometimes sent:undefined when the site leaves it out. Open button in new tab.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
PricingBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
PricingBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly PricingWidgetPricingFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of PricingWidgetPricingFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show PricingWidgetPricingFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of PricingWidgetPricingFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show PricingWidgetPricingFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
PricingFeaturedCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
PricingFeaturedCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
PricingFeaturedCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
PricingFeaturedCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
PricingFeaturedCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
PricingFeaturedCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
PricingFeaturedCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
PricingCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
PricingCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
PricingCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
PricingCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
PricingCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
PricingCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
PricingCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show MediaTextWidget
A media-text widget: its type and its own fields. A field left out takes its default.
MediaTextWidgetType
Always sent. The widget’s type: always media-text. One of media-text; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A small label above the section heading (e.g. “Why us”).
string
Sometimes sent:undefined when the site leaves it out. Eyebrow.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
MediaTextEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
MediaTextEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional section heading above the blocks. Leave empty to show just the blocks.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
MediaTextHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
MediaTextHeadingSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short sentence under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
MediaTextIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
MediaTextIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
MediaTextAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Aligns the section header and the text inside each block. (Side-by-side rows usually read best left-aligned.) One of left, center; a newer site may send others, so keep a fallback.
MediaTextRatio | null
Sometimes sent:undefined when the site leaves it out, and it can be null. For media-left / media-right rows: how the two columns share the width. One of balanced, media, text; a newer site may send others, so keep a fallback.
MediaTextVAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. For media-left / media-right rows: how the text lines up against the media. One of center, top; a newer site may send others, so keep a fallback.
MediaTextMediaRatio | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Aspect ratio of the media frame. Auto keeps an image at its natural shape (videos and embeds always use a ratio). One of auto, landscape, standard, square, portrait, wide; a newer site may send others, so keep a fallback.
MediaTextMediaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Media corners. One of large, rounded, slight, square; a newer site may send others, so keep a fallback.
MediaTextGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Gap between blocks. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A hairline rule between blocks.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Each block’s eyebrow color. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
MediaTextBlockEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Block eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
MediaTextBlockHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Block heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
MediaTextBlockHeadingSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Block heading size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
MediaTextBodyWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Block body weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
MediaTextBodySize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Block body size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
readonly MediaTextWidgetMediaTextBlocksItem[]
Sometimes sent:undefined when the site leaves it out. A list of MediaTextWidgetMediaTextBlocksItem. Each block is one media + text row. They render top to bottom in this order; alternate “Media left” / “Media right” for a classic zig-zag.
Show MediaTextWidgetMediaTextBlocksItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Layout | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Media left / right place the media beside the text; Stacked puts media above the text; Full-bleed runs the media edge-to-edge with the text below. One of media-left, media-right, stacked, full; a newer site may send others, so keep a fallback.
Sometimes sent:undefined when the site leaves it out, and it can be null. Pick where the media comes from. “None” makes this a text-only block. One of image, video, embed, none; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Pick an image from the Images library. The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Describe the image for screen readers and SEO. Leave empty to use the library image’s own alt text. Set to a single space for a purely decorative image.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). The related video documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
boolean
Sometimes sent:undefined when the site leaves it out. Play automatically as a muted, looping background clip (a pause button is shown, and reduced-motion visitors get the poster image). Off = a normal video with play controls.
Sometimes sent:undefined when the site leaves it out. A small label above the block heading.
string
Sometimes sent:undefined when the site leaves it out. The block’s headline.
string
Sometimes sent:undefined when the site leaves it out. A paragraph or two. Leave a blank line between paragraphs.
string
Sometimes sent:undefined when the site leaves it out. This block’s button text. Leave empty (with no link) to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/about-us) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Open button in new tab.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
MediaTextBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
MediaTextBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
Sometimes sent:undefined when the site leaves it out. A list of MediaTextWidgetMediaTextFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show MediaTextWidgetMediaTextFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of MediaTextWidgetMediaTextFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show MediaTextWidgetMediaTextFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
MediaTextCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
MediaTextCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
MediaTextCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
MediaTextCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
MediaTextCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
MediaTextCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
MediaTextCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show DeviceMockWidget
A device-mock widget: its type and its own fields. A field left out takes its default.
DeviceMockWidgetType
Always sent. The widget’s type: always device-mock. One of device-mock; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
DeviceMockArrangement | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which devices to show. Duo overlaps a phone on the corner of a desktop browser; Trio adds a TV behind them (on narrow screens Trio drops the TV and shows as a Duo). Each device used gets its own screen tab. One of duo, trio, desktop, phone, tv; a newer site may send others, so keep a fallback.
DeviceMockTextPlacement | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the eyebrow / heading / intro / button sit. Left or right puts the text in a column beside the devices (stacked above them on narrow screens); None shows the devices only. One of above, left, right, none; a newer site may send others, so keep a fallback.
DeviceMockSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How large the devices render within the section. One of compact, normal, large; a newer site may send others, so keep a fallback.
DeviceMockBrowserRatio | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The browser window’s content area. Match your desktop captures. One of 16:10, 16:9; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The address shown in the browser toolbar — decoration only, not a link.
boolean
Sometimes sent:undefined when the site leaves it out. Adds a time / signal / battery bar across the top of the phone screen. Leave off for native phone screenshots — they already include the real status bar.
string
Sometimes sent:undefined when the site leaves it out. Status bar time.
boolean
Sometimes sent:undefined when the site leaves it out. Adds a small, unobtrusive pause/play control so visitors can stop the auto-playing background motion (WCAG 2.2.2). Only appears when a moving background is set.
boolean
Sometimes sent:undefined when the site leaves it out. A small label above the heading (e.g. “Product tour”).
string
Sometimes sent:undefined when the site leaves it out. Small label shown above the title.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the mint default.
DeviceMockEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
DeviceMockEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional. Leave empty to show just the devices.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
DeviceMockHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
DeviceMockHeadingSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short paragraph under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
DeviceMockIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
DeviceMockIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. A short line shown under the devices.
DeviceMockTvMediaType | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A still screenshot, or a short looping screen recording. One of image, video; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Use a native-resolution 16:9 capture of the screen with NO device frame (the frame is drawn for you) — e.g. 1920 × 1080 or 3840 × 2160. The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution 16:9 capture of the screen with NO device frame (the frame is drawn for you) — e.g. 1920 × 1080 or 3840 × 2160. The related video documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.
DeviceMockTvFit | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of cover, contain; a newer site may send others, so keep a fallback.
DeviceMockTvAnchor | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of top, center, bottom; a newer site may send others, so keep a fallback.
DeviceMockDesktopMediaType | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A still screenshot, or a short looping screen recording. One of image, video; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Use a native-resolution capture of the page content only — no browser toolbar and no device frame (both are drawn for you). 16:10 (e.g. 2880 × 1800) or 16:9 (e.g. 2560 × 1440), matching the “Desktop screen shape” setting. The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution capture of the page content only — no browser toolbar and no device frame (both are drawn for you). 16:10 (e.g. 2880 × 1800) or 16:9 (e.g. 2560 × 1440), matching the “Desktop screen shape” setting. The related video documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.
DeviceMockDesktopFit | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of cover, contain; a newer site may send others, so keep a fallback.
DeviceMockDesktopAnchor | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of top, center, bottom; a newer site may send others, so keep a fallback.
DeviceMockPhoneMediaType | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A still screenshot, or a short looping screen recording. One of image, video; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Use a native-resolution portrait screenshot with NO device frame (the frame is drawn for you) — e.g. 1179 × 2556 or 1290 × 2796 (about 9:19.5). The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution portrait screenshot with NO device frame (the frame is drawn for you) — e.g. 1179 × 2556 or 1290 × 2796 (about 9:19.5). The related video documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.
DeviceMockPhoneFit | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of cover, contain; a newer site may send others, so keep a fallback.
DeviceMockPhoneAnchor | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of top, center, bottom; a newer site may send others, so keep a fallback.
DeviceMockBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
DeviceMockBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
Sometimes sent:undefined when the site leaves it out. A list of DeviceMockWidgetDeviceMockFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show DeviceMockWidgetDeviceMockFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of DeviceMockWidgetDeviceMockFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show DeviceMockWidgetDeviceMockFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
DeviceMockCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
DeviceMockCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
DeviceMockCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
DeviceMockCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
DeviceMockCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
DeviceMockCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
DeviceMockCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show FaqWidget
A faq widget: its type and its own fields. A field left out takes its default.
FaqWidgetType
Always sent. The widget’s type: always faq. One of faq; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Small label shown above the title.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the mint default.
FaqEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
FaqEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional. Leave empty to show just the questions.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short sentence under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
FaqIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
FaqAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The Split layout always sets its header column left. One of center, left; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Show only questions you have flagged “Featured” in the FAQs manager — e.g. a short top-questions block on the home page, linking out to the full FAQ page.
number | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The most questions to show, in the manager’s sort order. Raise it for a full FAQ page. 1 to 50.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Optional filter. Leave empty to show questions from every category. Manage the list under FAQ Categories. The related faq-category documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document; a document the site can’t find is left out.
FaqGroupBy | null
Sometimes sent:undefined when the site leaves it out, and it can be null. By category renders a subheading per FAQ category, in the order picked in the category filter (or, with no filter, the FAQ Categories sort order); questions without a category are listed last. One of none, category; a newer site may send others, so keep a fallback.
FaqLayout | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Accordion: a single centered column of collapsing questions — the classic FAQ. Split: the header (and button) sit in a left column with the accordion beside them. Two columns: the accordion flows across two columns. Open panels: every answer visible in a card grid — no collapsing. One of accordion, split, columns, panels; a newer site may send others, so keep a fallback.
FaqPanelColumns | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How many open panels sit per row (they stack on small screens). One of 1, 2, 3; a newer site may send others, so keep a fallback.
FaqOpenMode | null
Sometimes sent:undefined when the site leaves it out, and it can be null. One at a time closes the previous answer when a new one opens; Independent lets visitors hold several open. One of single, multiple; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Starts the section with the first answer expanded so the block never reads as an empty list of rows.
FaqMarker | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The disclosure marker on each question. Plus rotates into a close mark; Chevron flips. One of plus, chevron; a newer site may send others, so keep a fallback.
FaqGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Space between questions. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Adds this section’s questions to the page’s schema.org FAQPage markup so search engines can read them (all FAQ sections on a page share one FAQPage block). Costs nothing when on; turn off only to exclude these questions.
FaqCardStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The question-row treatment. Plain (the default) is the classic divided list — hairlines between questions. Any other style turns each question into a card: Raised is a quiet lit card, Outline a framed row, Luxe frosted glass; Ticket/Bracket/Inlay are the graphic showstoppers. One of raised, luxe, outline, plain, poster, edge, tint, ticket, bracket, forge, press, inlay; a newer site may send others, so keep a fallback.
FaqCardStyleRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of default, square, slight, rounded, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqCardStyleForgeScope | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of corner, frame; a newer site may send others, so keep a fallback.
FaqCardStyleForgeWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Thickness of the Forge corner mark / colored frame. One of fine, medium, bold; a newer site may send others, so keep a fallback.
FaqCardHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. What a question row does on hover. None (the default) keeps the accordion calm — the open/close motion is the interaction. The card effects (Lift/Glow/…) suit the card styles; the cursor-tracked ones need site animations on. One of none, lift, pop, press, glow, border, sheen, tilt, magnetic, spotlight; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — colors the toggle icon and the open question’s highlight. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqQuestionSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Question size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
FaqQuestionWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Question weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqAnswerSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Answer size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
FaqAnswerWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Answer weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqGroupHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Category heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
FaqBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly FaqWidgetFaqFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of FaqWidgetFaqFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show FaqWidgetFaqFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of FaqWidgetFaqFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show FaqWidgetFaqFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
FaqCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
FaqCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
FaqCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
FaqCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
FaqCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
FaqCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
FaqCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
AfterContentArea
Sometimes sent:undefined when the site leaves it out. An AfterContentArea. Widgets, top to bottom: send { "items": [ … ] }, one object per widget with its type. Writing it replaces the whole area.
Show AfterContentArea
AfterContentAreaMetaType
Sometimes sent:undefined when the site leaves it out. Always area. One of area; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The area’s id, set by the site: leave it out when you write one.
readonly AfterContentAreaItem[]
Sometimes sent:undefined when the site leaves it out. A list of AfterContentAreaItem. The widgets, top to bottom. Each is an object with its type and that widget’s own fields; _id and metaType may be left out (the site sets them).
Show AfterContentAreaItem
A widget in an area that takes @apostrophecms/layout, intro, feature, stats, logos, steps, media-text, device-mock, team, faq, service-map, blog-preview, cookie-declaration, @apostrophecms/rich-text, pricing, newsletter, sms-signup, form-render, final-cta: the one its type names.
Show LayoutWidget
A @apostrophecms/layout widget: its type and its own fields. A field left out takes its default.
LayoutWidgetType
Always sent. The widget’s type: always @apostrophecms/layout. One of @apostrophecms/layout; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
LayoutColumnArea
Sometimes sent:undefined when the site leaves it out. A LayoutColumnArea. Widgets, top to bottom: send { "items": [ … ] }, one object per widget with its type. Writing it replaces the whole area. Its fields are listed under the first LayoutColumnArea above.
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show IntroWidget
A intro widget: its type and its own fields. A field left out takes its default.
IntroWidgetType
Always sent. The widget’s type: always intro. One of intro; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Small label shown above the title.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the mint default.
IntroEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
IntroEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Headline.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the headline color. Leave empty to track the theme’s text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the theme default.
IntroHeadlineWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Headline weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Body copy.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the body text color. Leave empty for the muted default.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the muted default.
IntroBodyWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Body weight. One of normal, medium, semibold, bold; a newer site may send others, so keep a fallback.
IntroPhotoPlacement | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the optional photo sits. Left/right place it beside the text; Full background fills the whole section behind the text (with a readability overlay). One of none, left, right, background; a newer site may send others, so keep a fallback.
ImageArea
Sometimes sent:undefined when the site leaves it out. An ImageArea. Widgets, top to bottom: send { "items": [ … ] }, one object per widget with its type. Writing it replaces the whole area. Its fields are listed under the first ImageArea above.
IntroPhotoCorners | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Photo corners. One of rounded, squared; a newer site may send others, so keep a fallback.
IntroPhotoFrame | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Border draws a frame around the photo; Offset adds a refined offset accent frame behind it. One of none, border, offset; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Border / offset-frame color. Leave empty to use the site accent color.
IntroPhotoTilt | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A slight rotation for a more playful look. One of none, left, right; a newer site may send others, so keep a fallback.
IntroPhotoHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Photo hover effect. One of none, lift, zoom, tilt, glow, lift-glow, zoom-glow; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Scrim behind the text over a full-background photo. Leave empty to use the dark surface color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme overlay, then the light surface color.
number | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Overlay opacity (%). 0 to 100.
IntroBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
IntroBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly IntroWidgetIntroFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of IntroWidgetIntroFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first IntroWidgetIntroFontOverridesItem above.
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show FeatureWidget
A feature widget: its type and its own fields. A field left out takes its default.
FeatureWidgetType
Always sent. The widget’s type: always feature. One of feature; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
FeatureColumns | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Auto fits as many as comfortably fit and works for any number of cards. Or lock a maximum per row. One of auto, 2, 3, 4; a newer site may send others, so keep a fallback.
FeatureGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Gap between cards. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
FeatureCardSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Scales padding, icon, title, and the index numeral together. One of small, medium, large; a newer site may send others, so keep a fallback.
FeatureCardStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The card treatment. Poster (the default) frames the card with an accent keyline; Raised is a quiet lit card; Luxe a frosted glass panel; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of raised, luxe, outline, plain, poster, edge, tint, ticket, bracket, forge, press, inlay; a newer site may send others, so keep a fallback.
FeatureCardStyleRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of default, square, slight, rounded, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FeatureCardStyleForgeScope | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of corner, frame; a newer site may send others, so keep a fallback.
FeatureCardStyleForgeWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Thickness of the Forge corner mark / colored frame. One of fine, medium, bold; a newer site may send others, so keep a fallback.
FeatureCardHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How a card reacts on hover. Pop is the lift + hard offset shadow; Glow is a soft accent halo. One of none, lift, pop, glow, border; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Border / shadow / glow color on hover. Leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the accent.
boolean
Sometimes sent:undefined when the site leaves it out. A big outlined numeral on each card (01, 02, …). Great for step-by-step sequences; turn off when the cards aren’t ordered.
FeatureNumberFill | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Same treatment as the hero ghost text: all numbers solid, outlined and filling on hover, or always outlined. One of solid, hover, outline; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Tints the numeral fill + outline. Leave empty to track the theme’s text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the theme default.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the card title color. Leave empty to track the theme’s text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the theme default.
FeatureTitleWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Title weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the card text color. Leave empty for the muted default.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the muted default.
FeatureTextWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Text weight. One of normal, medium, semibold, bold; a newer site may send others, so keep a fallback.
readonly FeatureWidgetFeatureCardsItem[]
Sometimes sent:undefined when the site leaves it out. A list of FeatureWidgetFeatureCardsItem. Feature cards. Its fields are listed under the first FeatureWidgetFeatureCardsItem above.
FeatureBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
FeatureBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly FeatureWidgetFeatureFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of FeatureWidgetFeatureFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first FeatureWidgetFeatureFontOverridesItem above.
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show StatsWidget
A stats widget: its type and its own fields. A field left out takes its default.
StatsWidgetType
Always sent. The widget’s type: always stats. One of stats; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A small label above the heading (e.g. “By the numbers”).
string
Sometimes sent:undefined when the site leaves it out. Eyebrow.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StatsEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
StatsEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional. Leave empty to show just the numbers.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StatsHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
StatsColumns | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Auto fits as many as comfortably fit and works for any number of stats. Or lock a maximum per row. One of auto, 2, 3, 4; a newer site may send others, so keep a fallback.
StatsGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Gap between stats. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
StatsSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The baseline scale for the whole stat (value / icon / label / description stay proportional). Fine-tune any single element with its own size control below. One of small, medium, large; a newer site may send others, so keep a fallback.
StatsAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Alignment. One of center, left; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A hairline rule between each stat — the classic “by the numbers” rail.
boolean
Sometimes sent:undefined when the site leaves it out. Numbers tick up from zero when the band scrolls into view. Non-numeric values and reduced-motion visitors simply show the final value.
StatsIconSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size of the icon above each number, independent of the overall stat size. One of auto, sm, md, lg, xl, xxl; a newer site may send others, so keep a fallback.
StatsIconGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Space between the icon and the number below it. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
StatsValueSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Value size. One of auto, xs, sm, md, lg, xl; a newer site may send others, so keep a fallback.
StatsValueWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Value weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The big numeral. Optional — leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the accent.
StatsLabelSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Label size. One of auto, xs, sm, md, lg, xl; a newer site may send others, so keep a fallback.
StatsLabelWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Label weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StatsDescriptionSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Description size. One of auto, xs, sm, md, lg, xl; a newer site may send others, so keep a fallback.
StatsDescriptionWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Description weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
readonly StatsWidgetStatsItem[]
Sometimes sent:undefined when the site leaves it out. A list of StatsWidgetStatsItem. Stats. Its fields are listed under the first StatsWidgetStatsItem above.
StatsBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
StatsBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly StatsWidgetStatsFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of StatsWidgetStatsFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first StatsWidgetStatsFontOverridesItem above.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
StatsCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
StatsCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
StatsCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
StatsCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
StatsCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
StatsCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
StatsCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show LogosWidget
A logos widget: its type and its own fields. A field left out takes its default.
LogosWidgetType
Always sent. The widget’s type: always logos. One of logos; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A small label above the heading (e.g. “Trusted by”).
string
Sometimes sent:undefined when the site leaves it out. Eyebrow.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
LogosEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
LogosEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional. Leave empty to show just the logos.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
LogosHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short sentence under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
LogosIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
LogosDisplay | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A slow scrolling ribbon (marquee) or a calm static grid. One of marquee, grid; a newer site may send others, so keep a fallback.
LogosSpeed | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Marquee speed. One of slow, normal, fast; a newer site may send others, so keep a fallback.
LogosDirection | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Marquee direction. One of left, right; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Adds a small, unobtrusive pause/play control so visitors can stop the auto-playing background motion (WCAG 2.2.2). Only appears when a moving background is set.
LogosColumns | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Auto fits as many as comfortably fit and works for any number of logos. Or lock a maximum per row. One of auto, 3, 4, 5, 6; a newer site may send others, so keep a fallback.
LogosGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Gap between logos. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
LogosSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The height each logo is scaled to (width follows the logo’s aspect ratio). One of small, medium, large; a newer site may send others, so keep a fallback.
LogosAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Aligns the eyebrow / heading / intro (and the grid when there are few logos). One of center, left; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Sets every logo on a raised, bordered card. Off = logos sit straight on the background.
boolean
Sometimes sent:undefined when the site leaves it out. Mutes the logos to grayscale and dims them, returning to full color on hover — the classic logo-wall look.
readonly LogosWidgetLogosItem[]
Sometimes sent:undefined when the site leaves it out. A list of LogosWidgetLogosItem. Logos.
Show LogosWidgetLogosItem
readonly Readonly<Record<string, unknown>>[]
Always sent. Pick a logo from the Images library. A transparent PNG or an SVG works best. The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Always sent. Company / partner / certification name — used as the image alt text and the link title.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
string
Sometimes sent:undefined when the site leaves it out. Make this logo a link, e.g. to the partner’s site. Opens in a new tab for external URLs.
boolean
Sometimes sent:undefined when the site leaves it out. For dark / black logos that would vanish on the dark theme — flips them to light. Leave off for full-color or white logos.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
LogosBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
LogosBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly LogosWidgetLogosFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of LogosWidgetLogosFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show LogosWidgetLogosFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of LogosWidgetLogosFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show LogosWidgetLogosFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
LogosCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
LogosCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
LogosCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
LogosCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
LogosCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
LogosCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
LogosCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show StepsWidget
A steps widget: its type and its own fields. A field left out takes its default.
StepsWidgetType
Always sent. The widget’s type: always steps. One of steps; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A small label above the heading (e.g. “How it works”).
string
Sometimes sent:undefined when the site leaves it out. Eyebrow.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StepsEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
StepsEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional. Leave empty to show just the steps.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StepsHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
StepsHeadingSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short sentence under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StepsIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
StepsIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
StepsLayout | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Horizontal lays the steps across a row (marker on top); Vertical stacks them as a classic timeline (marker on the left). One of horizontal, vertical; a newer site may send others, so keep a fallback.
StepsColumns | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Horizontal only. Auto fits as many as comfortably fit and works for any number of steps. Or lock a maximum per row. One of auto, 2, 3, 4; a newer site may send others, so keep a fallback.
StepsGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Gap between steps. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
StepsAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Horizontal only — aligns the section header and each step’s text. (Vertical is always left-aligned beside its marker.) One of center, left; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A line linking the step markers into a timeline (down the markers when vertical, across them when horizontal).
StepsCardStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Plain keeps the connector-linked timeline (just marker + text, no card). Every other style boxes each step — Raised is a quiet lit card, Luxe a frosted glass panel, Outline a plaque frame, Spine adds a color rail, Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of raised, luxe, outline, plain, poster, edge, tint, ticket, bracket, forge, press, inlay; a newer site may send others, so keep a fallback.
StepsCardStyleRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of default, square, slight, rounded, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StepsCardStyleForgeScope | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of corner, frame; a newer site may send others, so keep a fallback.
StepsCardStyleForgeWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Thickness of the Forge corner mark / colored frame. One of fine, medium, bold; a newer site may send others, so keep a fallback.
StepsCardHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. What a boxed step does on hover (applies when Step style is not Plain). Lift/Pop/Press/Glow/Outline are instant; Sheen sweeps a light across; Tilt, Magnetic and Spotlight follow the cursor (need site animations on). One of none, lift, pop, press, glow, border, sheen, tilt, magnetic, spotlight; a newer site may send others, so keep a fallback.
StepsMarker | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Number auto-counts 1, 2, 3…; Icon shows each step’s icon (falling back to the number when a step has none); None hides the marker badge. One of number, icon, none; a newer site may send others, so keep a fallback.
StepsMarkerStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Soft is a tinted accent badge; Filled is a solid accent badge; Outline is a bordered badge. One of soft, filled, outline; a newer site may send others, so keep a fallback.
StepsMarkerShape | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Marker shape. One of circle, rounded, square; a newer site may send others, so keep a fallback.
StepsMarkerSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Marker size. One of small, medium, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Color for the marker badge and the connector line. Leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme accent.
StepsTitleSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Title size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
StepsTitleWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Title weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
StepsBodySize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Body size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
StepsBodyWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Body weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
readonly StepsWidgetStepsItemsItem[]
Sometimes sent:undefined when the site leaves it out. A list of StepsWidgetStepsItemsItem. Each item is one step in the process. They render in this order; the number marker counts automatically. Its fields are listed under the first StepsWidgetStepsItemsItem above.
StepsBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
StepsBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly StepsWidgetStepsFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of StepsWidgetStepsFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first StepsWidgetStepsFontOverridesItem above.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
StepsCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
StepsCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
StepsCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
StepsCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
StepsCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
StepsCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
StepsCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show MediaTextWidget
A media-text widget: its type and its own fields. A field left out takes its default.
MediaTextWidgetType
Always sent. The widget’s type: always media-text. One of media-text; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A small label above the section heading (e.g. “Why us”).
string
Sometimes sent:undefined when the site leaves it out. Eyebrow.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
MediaTextEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
MediaTextEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional section heading above the blocks. Leave empty to show just the blocks.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
MediaTextHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
MediaTextHeadingSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short sentence under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
MediaTextIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
MediaTextIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
MediaTextAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Aligns the section header and the text inside each block. (Side-by-side rows usually read best left-aligned.) One of left, center; a newer site may send others, so keep a fallback.
MediaTextRatio | null
Sometimes sent:undefined when the site leaves it out, and it can be null. For media-left / media-right rows: how the two columns share the width. One of balanced, media, text; a newer site may send others, so keep a fallback.
MediaTextVAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. For media-left / media-right rows: how the text lines up against the media. One of center, top; a newer site may send others, so keep a fallback.
MediaTextMediaRatio | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Aspect ratio of the media frame. Auto keeps an image at its natural shape (videos and embeds always use a ratio). One of auto, landscape, standard, square, portrait, wide; a newer site may send others, so keep a fallback.
MediaTextMediaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Media corners. One of large, rounded, slight, square; a newer site may send others, so keep a fallback.
MediaTextGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Gap between blocks. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A hairline rule between blocks.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Each block’s eyebrow color. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
MediaTextBlockEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Block eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
MediaTextBlockHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Block heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
MediaTextBlockHeadingSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Block heading size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
MediaTextBodyWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Block body weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
MediaTextBodySize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Block body size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
readonly MediaTextWidgetMediaTextBlocksItem[]
Sometimes sent:undefined when the site leaves it out. A list of MediaTextWidgetMediaTextBlocksItem. Each block is one media + text row. They render top to bottom in this order; alternate “Media left” / “Media right” for a classic zig-zag. Its fields are listed under the first MediaTextWidgetMediaTextBlocksItem above.
MediaTextBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
MediaTextBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
Sometimes sent:undefined when the site leaves it out. A list of MediaTextWidgetMediaTextFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first MediaTextWidgetMediaTextFontOverridesItem above.
MediaTextCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
MediaTextCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
MediaTextCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
MediaTextCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
MediaTextCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
MediaTextCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
MediaTextCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show DeviceMockWidget
A device-mock widget: its type and its own fields. A field left out takes its default.
DeviceMockWidgetType
Always sent. The widget’s type: always device-mock. One of device-mock; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
DeviceMockArrangement | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which devices to show. Duo overlaps a phone on the corner of a desktop browser; Trio adds a TV behind them (on narrow screens Trio drops the TV and shows as a Duo). Each device used gets its own screen tab. One of duo, trio, desktop, phone, tv; a newer site may send others, so keep a fallback.
DeviceMockTextPlacement | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the eyebrow / heading / intro / button sit. Left or right puts the text in a column beside the devices (stacked above them on narrow screens); None shows the devices only. One of above, left, right, none; a newer site may send others, so keep a fallback.
DeviceMockSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How large the devices render within the section. One of compact, normal, large; a newer site may send others, so keep a fallback.
DeviceMockBrowserRatio | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The browser window’s content area. Match your desktop captures. One of 16:10, 16:9; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The address shown in the browser toolbar — decoration only, not a link.
boolean
Sometimes sent:undefined when the site leaves it out. Adds a time / signal / battery bar across the top of the phone screen. Leave off for native phone screenshots — they already include the real status bar.
string
Sometimes sent:undefined when the site leaves it out. Status bar time.
boolean
Sometimes sent:undefined when the site leaves it out. Adds a small, unobtrusive pause/play control so visitors can stop the auto-playing background motion (WCAG 2.2.2). Only appears when a moving background is set.
boolean
Sometimes sent:undefined when the site leaves it out. A small label above the heading (e.g. “Product tour”).
string
Sometimes sent:undefined when the site leaves it out. Small label shown above the title.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the mint default.
DeviceMockEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
DeviceMockEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional. Leave empty to show just the devices.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
DeviceMockHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
DeviceMockHeadingSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short paragraph under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
DeviceMockIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
DeviceMockIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. A short line shown under the devices.
DeviceMockTvMediaType | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A still screenshot, or a short looping screen recording. One of image, video; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Use a native-resolution 16:9 capture of the screen with NO device frame (the frame is drawn for you) — e.g. 1920 × 1080 or 3840 × 2160. The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution 16:9 capture of the screen with NO device frame (the frame is drawn for you) — e.g. 1920 × 1080 or 3840 × 2160. The related video documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.
DeviceMockTvFit | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of cover, contain; a newer site may send others, so keep a fallback.
DeviceMockTvAnchor | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of top, center, bottom; a newer site may send others, so keep a fallback.
DeviceMockDesktopMediaType | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A still screenshot, or a short looping screen recording. One of image, video; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Use a native-resolution capture of the page content only — no browser toolbar and no device frame (both are drawn for you). 16:10 (e.g. 2880 × 1800) or 16:9 (e.g. 2560 × 1440), matching the “Desktop screen shape” setting. The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution capture of the page content only — no browser toolbar and no device frame (both are drawn for you). 16:10 (e.g. 2880 × 1800) or 16:9 (e.g. 2560 × 1440), matching the “Desktop screen shape” setting. The related video documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.
DeviceMockDesktopFit | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of cover, contain; a newer site may send others, so keep a fallback.
DeviceMockDesktopAnchor | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of top, center, bottom; a newer site may send others, so keep a fallback.
DeviceMockPhoneMediaType | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A still screenshot, or a short looping screen recording. One of image, video; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Use a native-resolution portrait screenshot with NO device frame (the frame is drawn for you) — e.g. 1179 × 2556 or 1290 × 2796 (about 9:19.5). The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution portrait screenshot with NO device frame (the frame is drawn for you) — e.g. 1179 × 2556 or 1290 × 2796 (about 9:19.5). The related video documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.
DeviceMockPhoneFit | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of cover, contain; a newer site may send others, so keep a fallback.
DeviceMockPhoneAnchor | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of top, center, bottom; a newer site may send others, so keep a fallback.
DeviceMockBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
DeviceMockBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
Sometimes sent:undefined when the site leaves it out. A list of DeviceMockWidgetDeviceMockFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first DeviceMockWidgetDeviceMockFontOverridesItem above.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
DeviceMockCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
DeviceMockCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
DeviceMockCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
DeviceMockCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
DeviceMockCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
DeviceMockCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
DeviceMockCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show TeamWidget
A team widget: its type and its own fields. A field left out takes its default.
TeamWidgetType
Always sent. The widget’s type: always team. One of team; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Small label shown above the title.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the mint default.
TeamEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
TeamEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional. Leave empty to show just the team.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
TeamHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short sentence under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
TeamIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
TeamIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
TeamAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Header alignment. One of center, left; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Show only members you have flagged “Featured” in the Team Members manager — e.g. a short leadership row on the home page.
number | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The most members to show, in the manager’s sort order. 1 to 50.
TeamLayout | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Grid: a tidy multi-row grid (the full team page). Carousel: a continuous auto-scrolling marquee (needs site animations enabled — falls back to the grid when they are off). Spotlight: featured members large on top, the rest in a smaller grid. List: wide rows with the full bio. Scatter: a playful arrangement with varied spacing so the cards float freely. One of grid, carousel, spotlight, list, scatter; a newer site may send others, so keep a fallback.
TeamColumns | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How many cards per row. Auto fits as many as comfortably fit (the Scatter layout composes on three columns when set to Auto). One of auto, 2, 3, 4; a newer site may send others, so keep a fallback.
TeamSpotlightHeroes | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How many members lead the section at full size. Members flagged “Featured” fill the spots first, in the manager’s sort order; any extra featured members join the rows below. One of 1, 2; a newer site may send others, so keep a fallback.
TeamSpotlightColumns | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How many of the remaining members sit on each row under the featured spots. One of 2, 3, 4, 5; a newer site may send others, so keep a fallback.
TeamSpeed | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How fast the carousel auto-scrolls. One of vslow, slow, normal, fast; a newer site may send others, so keep a fallback.
TeamDirection | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Scroll direction. One of left, right; a newer site may send others, so keep a fallback.
TeamScatter | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How far the cards drift from a tidy grid. Subtle keeps a loose grid; Wild pushes the offsets to their playful maximum. One of subtle, playful, wild; a newer site may send others, so keep a fallback.
TeamGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Gap between cards. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
TeamCardLayout | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Portrait: the photo on top, name/role/bio below — the classic team card. Overlay: a full-bleed photo with a solid color panel over its lower edge holding the name and role. Profile: a horizontal bar — avatar left, name/role/tagline right. Roster: minimal — just the avatar, name and role. (The List section layout always uses its own wide row.) One of portrait, overlay, profile, roster; a newer site may send others, so keep a fallback.
TeamPhotoAspect | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The photo’s aspect ratio on the photo-led card layouts. One of square, portrait, tall; a newer site may send others, so keep a fallback.
TeamAvatarShape | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The photo’s outline. Squircle is a soft superellipse-style corner (approximated with heavy rounding). One of circle, rounded, squircle, square; a newer site may send others, so keep a fallback.
TeamAvatarSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Avatar size. One of small, medium, large, xlarge; a newer site may send others, so keep a fallback.
TeamAvatarBorder | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A ring around the photo in the avatar color. One of none, hairline, thin, bold; a newer site may send others, so keep a fallback.
TeamAvatarTreatment | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A flat color accent behind the photo. Panel offsets a solid block behind it; Halo draws a soft concentric disc. Both use the avatar color. One of none, panel, halo; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colors the border and the backdrop treatment. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
boolean
Sometimes sent:undefined when the site leaves it out. Show role / title.
boolean
Sometimes sent:undefined when the site leaves it out. Shown on the Portrait and Profile cards and the List rows. The Overlay and Roster layouts stay bio-free by design.
boolean
Sometimes sent:undefined when the site leaves it out. The member’s one-liner, shown on the Profile and Roster cards and the List rows.
boolean
Sometimes sent:undefined when the site leaves it out. Cross-fades to a member’s alternate photo on hover (set per member; does nothing for members without one, and stays off for visitors who prefer reduced motion).
TeamCardStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The card treatment. Outline (the default) is a plaque frame — a framed-portrait look; Raised is a quiet lit card; Luxe a frosted glass panel; Ticket/Bracket/Inlay are the graphic showstoppers. One of raised, luxe, outline, plain, poster, edge, tint, ticket, bracket, inlay; a newer site may send others, so keep a fallback.
TeamCardStyleRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of default, square, slight, rounded, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
TeamCardHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. What a card does on hover. Lift/Pop/Press/Glow/Outline are instant; Sheen sweeps a light across; Tilt, Magnetic and Spotlight follow the cursor (need site animations on). Vary it per section so the page is not cookie-cutter. One of none, lift, pop, press, glow, border, sheen, tilt, magnetic, spotlight; a newer site may send others, so keep a fallback.
TeamCardAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How the name, role and bio align inside each card (the Profile card and List rows are always left-aligned beside the avatar). One of center, left; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — the lettered-avatar fallback background and the role color default. Leave empty to use the brand accent. (The icon row has its own colors on the Social links tab.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The solid panel over the photo on the Overlay card. Leave empty to use the card color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
TeamNameSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Name size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
TeamNameWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Name weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
TeamRoleSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Role size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
TeamRoleWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Role weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
TeamBioSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Bio size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
TeamBioWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Bio weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
TeamBioClamp | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Cap each bio at this many lines (the rest is truncated with an ellipsis) so one long bio can’t blow up the card height. The List layout always shows the full bio. One of none, 2, 3, 4, 6; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the faint text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
boolean
Sometimes sent:undefined when the site leaves it out. The member’s social profile icons (set per member in the Team Members manager).
boolean
Sometimes sent:undefined when the site leaves it out. Off by default — turns each member’s email and phone (when set) into icon links. Only enable when you want those details public.
TeamSocialVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon style. One of bare, outline, solid; a newer site may send others, so keep a fallback.
TeamSocialSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
TeamSocialSpacing | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Gap between the icons. One of tight, normal, loose; a newer site may send others, so keep a fallback.
TeamSocialHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover to each platform’s own brand color, or to the site accent (or a chosen hover color). One of brand, accent; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Resting icon color. Leave empty for the muted default.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the muted default.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Hover color” is Accent / custom. Leave empty for the site accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the accent.
TeamBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
TeamBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly TeamWidgetTeamFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of TeamWidgetTeamFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show TeamWidgetTeamFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of TeamWidgetTeamFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show TeamWidgetTeamFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
TeamCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
TeamCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
TeamCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
TeamCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
TeamCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
TeamCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
TeamCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show FaqWidget
A faq widget: its type and its own fields. A field left out takes its default.
FaqWidgetType
Always sent. The widget’s type: always faq. One of faq; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Small label shown above the title.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the mint default.
FaqEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
FaqEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional. Leave empty to show just the questions.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short sentence under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
FaqIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
FaqAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The Split layout always sets its header column left. One of center, left; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Show only questions you have flagged “Featured” in the FAQs manager — e.g. a short top-questions block on the home page, linking out to the full FAQ page.
number | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The most questions to show, in the manager’s sort order. Raise it for a full FAQ page. 1 to 50.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Optional filter. Leave empty to show questions from every category. Manage the list under FAQ Categories. The related faq-category documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document; a document the site can’t find is left out.
FaqGroupBy | null
Sometimes sent:undefined when the site leaves it out, and it can be null. By category renders a subheading per FAQ category, in the order picked in the category filter (or, with no filter, the FAQ Categories sort order); questions without a category are listed last. One of none, category; a newer site may send others, so keep a fallback.
FaqLayout | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Accordion: a single centered column of collapsing questions — the classic FAQ. Split: the header (and button) sit in a left column with the accordion beside them. Two columns: the accordion flows across two columns. Open panels: every answer visible in a card grid — no collapsing. One of accordion, split, columns, panels; a newer site may send others, so keep a fallback.
FaqPanelColumns | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How many open panels sit per row (they stack on small screens). One of 1, 2, 3; a newer site may send others, so keep a fallback.
FaqOpenMode | null
Sometimes sent:undefined when the site leaves it out, and it can be null. One at a time closes the previous answer when a new one opens; Independent lets visitors hold several open. One of single, multiple; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Starts the section with the first answer expanded so the block never reads as an empty list of rows.
FaqMarker | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The disclosure marker on each question. Plus rotates into a close mark; Chevron flips. One of plus, chevron; a newer site may send others, so keep a fallback.
FaqGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Space between questions. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Adds this section’s questions to the page’s schema.org FAQPage markup so search engines can read them (all FAQ sections on a page share one FAQPage block). Costs nothing when on; turn off only to exclude these questions.
FaqCardStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The question-row treatment. Plain (the default) is the classic divided list — hairlines between questions. Any other style turns each question into a card: Raised is a quiet lit card, Outline a framed row, Luxe frosted glass; Ticket/Bracket/Inlay are the graphic showstoppers. One of raised, luxe, outline, plain, poster, edge, tint, ticket, bracket, forge, press, inlay; a newer site may send others, so keep a fallback.
FaqCardStyleRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of default, square, slight, rounded, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqCardStyleForgeScope | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of corner, frame; a newer site may send others, so keep a fallback.
FaqCardStyleForgeWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Thickness of the Forge corner mark / colored frame. One of fine, medium, bold; a newer site may send others, so keep a fallback.
FaqCardHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. What a question row does on hover. None (the default) keeps the accordion calm — the open/close motion is the interaction. The card effects (Lift/Glow/…) suit the card styles; the cursor-tracked ones need site animations on. One of none, lift, pop, press, glow, border, sheen, tilt, magnetic, spotlight; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — colors the toggle icon and the open question’s highlight. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqQuestionSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Question size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
FaqQuestionWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Question weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqAnswerSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Answer size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
FaqAnswerWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Answer weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqGroupHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Category heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FaqBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
FaqBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly FaqWidgetFaqFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of FaqWidgetFaqFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first FaqWidgetFaqFontOverridesItem above.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
FaqCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
FaqCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
FaqCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
FaqCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
FaqCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
FaqCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
FaqCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show ServiceMapWidget
A service-map widget: its type and its own fields. A field left out takes its default.
ServiceMapWidgetType
Always sent. The widget’s type: always service-map. One of service-map; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Small label shown above the title.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the mint default.
ServiceMapEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
ServiceMapEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Leave empty for the standard ink color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
ServiceMapHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short paragraph under the heading. The data source’s own description (service days etc.) shows in the result panel, not here.
ServiceMapIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
ServiceMapHeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Map height. One of compact, standard, tall; a newer site may send others, so keep a fallback.
ServiceMapTheme | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Curated light/dark basemap pairs — each follows the visitor’s theme toggle. “Site palette” derives the basemap from this site’s own colors. One of palette, classic, silver, retro; a newer site may send others, so keep a fallback.
ServiceMapFrameRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Map corner radius. One of square, slight, rounded, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Leave empty for the standard hairline — set it to match a colored border on the zone cards.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional soft glow around the map frame — pairs with a glowing zone-card style. Leave empty for none.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
boolean
Sometimes sent:undefined when the site leaves it out. On pages with this section, upgrades the business structured data from the compact site-wide form to the full detail: every public place name, every zip code, and area boundaries. Costs visitors nothing; turn off to keep this page at the compact site-wide form. (Requires structured data on in Site settings → SEO; demo map data is never published.)
boolean
Sometimes sent:undefined when the site leaves it out. The legend card overlaid on the map. The zone cards below the map always carry the same information for screen readers and when the map can’t load.
ServiceMapKeySwatchSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Key swatch size. One of small, medium, large; a newer site may send others, so keep a fallback.
ServiceMapKeyJustify | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Key text justification. One of left, center, right; a newer site may send others, so keep a fallback.
ServiceMapKeyTextSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Key text size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
ServiceMapKeyTextWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Key text weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Leave empty for the standard ink color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
ServiceMapKeyRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Key corner radius. One of square, slight, rounded, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Leave empty for the standard hairline — set it to match the map frame or the zone cards.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional soft glow around the key card. Leave empty for none.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
boolean
Sometimes sent:undefined when the site leaves it out. The zone/pricing cards under the map. Turning this off hides them visually — they stay in the page for screen readers and no-JavaScript visitors (the map itself isn’t accessible).
ServiceMapCardStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The card surface. Raised is a quiet lit card; Luxe is a frosted glass panel; Outline is a double-rule plaque frame; Plain has no chrome; Poster frames the card with an accent keyline; Spine embeds a color rail along the top; Tint washes the card in the accent color. Showstoppers: Ticket punches notches into the sides, Bracket draws only corner marks, Forge is a machined plate with an engraved frame, Press is a punched index card with a margin rule, Inlay recesses the content into a well. One of raised, luxe, outline, plain, poster, edge, tint, inlay; a newer site may send others, so keep a fallback.
ServiceMapCardStyleRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of default, square, slight, rounded, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
ServiceMapCardsHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. What a card does on hover. Lift/Pop/Press/Glow/Outline are instant CSS effects; Sheen sweeps a soft light across; Tilt, Magnetic and Spotlight follow the cursor (these need site animations on — visitors who prefer reduced motion see the resting card). Pick a different one per section so a page feels varied, not cookie-cutter. One of none, lift, pop, press, glow, border, sheen, tilt, magnetic, spotlight; a newer site may send others, so keep a fallback.
ServiceMapCardsSwatchSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Card swatch size. One of small, medium, large; a newer site may send others, so keep a fallback.
ServiceMapCardsJustify | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Card text justification. One of left, center, right; a newer site may send others, so keep a fallback.
ServiceMapCardsNameWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Zone name weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
ServiceMapCardsTextSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Card text size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Colors the zone names; supporting copy stays muted. Leave empty for the standard ink color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
ServiceMapCardsSubSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The price and detail lines under each zone name — sized relative to the card text size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
ServiceMapCardsSubWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Supporting text weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Leave empty for the standard muted color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
string
Sometimes sent:undefined when the site leaves it out. Optional label shown instead of “$0” wherever a zone has no fee (key, cards, results). Clear it to show the plain price — $0 doesn’t always mean included.
Sometimes sent:undefined when the site leaves it out. A list of ServiceMapWidgetServiceMapZoneOverridesItem. Per-zone display overrides, matched by the zone name the data source provides. Rename a zone, replace its price text, or hide it entirely — the underlying data is never changed.
Show ServiceMapWidgetServiceMapZoneOverridesItem
string
Always sent. Case-insensitive match against the zone name in the map data.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
string
Sometimes sent:undefined when the site leaves it out. Optional replacement name shown everywhere this zone appears.
string
Sometimes sent:undefined when the site leaves it out. Optional replacement for the price text (e.g. “Included”, “Call us”). Overrides the zero-price label too.
boolean
Sometimes sent:undefined when the site leaves it out. The zone stays on the map and in search results — it just leaves the key and cards.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
boolean
Sometimes sent:undefined when the site leaves it out. Show the “check your area” search.
string
Sometimes sent:undefined when the site leaves it out. Search label.
string
Sometimes sent:undefined when the site leaves it out. Search placeholder.
ServiceMapSearchJustify | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Positions the search box and button above the map. One of left, center, right; a newer site may send others, so keep a fallback.
ServiceMapSearchInputRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Same radius scale as the buttons, so the box and button can match. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Google address autocomplete under the search box (needs the Places API enabled on the key — see the setup guide in Connections → Google Maps). ZIP-only typing never triggers suggestions when the data source is zip-based.
string
Sometimes sent:undefined when the site leaves it out. Shown when a searched location doesn’t fall in any zone (or the premium radius).
string
Sometimes sent:undefined when the site leaves it out. Leave empty for “Check”. The button’s look is configured in the Search button tab.
ServiceMapSearchButtonVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
ServiceMapSearchButtonSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
ServiceMapSearchButtonRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
ServiceMapSearchButtonStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
ServiceMapSearchButtonAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
ServiceMapPanelPlacement | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Popup placement. One of center, corner; a newer site may send others, so keep a fallback.
ServiceMapPanelLook | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Popup style. One of overlay, solid; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Repeats the searched ZIP code or address at the top of the result popup.
boolean
Sometimes sent:undefined when the site leaves it out. Looks up the locality for a searched ZIP code (one extra Geocoding API call per search) and shows it beside the searched value.
ServiceMapPanelTextSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Popup text size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
ServiceMapPanelTitleWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Popup title weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. When the data carries a premium (distance-priced) service, include it in search results and the zone cards. Sources without their own premium block use the pricing set in Service area map → Areas and pricing.
boolean
Sometimes sent:undefined when the site leaves it out. Needs a premium range limit (miles) — with no limit there is no ring to draw.
string
Sometimes sent:undefined when the site leaves it out. Premium estimate note.
string
Sometimes sent:undefined when the site leaves it out. Shown when a distance estimate isn’t possible (e.g. the Distance Matrix API isn’t enabled on the key).
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Optional logo/pin image for the business marker. Leave empty for a simple accent-color pin. The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. Optional light-theme variant. Falls back to the dark-theme image. The related @apostrophecms/image documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
string
Sometimes sent:undefined when the site leaves it out. Accessible name + hover title for the marker. Leave empty to use the business name from Site settings.
ServiceMapMarkerSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Marker size. One of small, medium, large; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The business marker gently bobs in place. Automatically disabled for visitors who prefer reduced motion.
boolean
Sometimes sent:undefined when the site leaves it out. Adds the business location (named by its label in Service area map → Your location) as the FIRST entry of the map key and zone cards.
ServiceMapBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
ServiceMapBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
Sometimes sent:undefined when the site leaves it out. A list of ServiceMapWidgetServiceMapFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show ServiceMapWidgetServiceMapFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of ServiceMapWidgetServiceMapFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show ServiceMapWidgetServiceMapFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show BlogPreviewWidget
A blog-preview widget: its type and its own fields. A field left out takes its default.
BlogPreviewWidgetType
Always sent. The widget’s type: always blog-preview. One of blog-preview; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Heading.
string
Sometimes sent:undefined when the site leaves it out. Subheading.
BlogCardImageAspect | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Aspect ratio of the featured image. Choose “Hidden” for text-only cards. One of 16/10, 4/3, 3/2, 1/1, none; a newer site may send others, so keep a fallback.
BlogCardImageHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Image hover. One of zoom, none; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Use the featured image as the full card background, with the title and meta overlaid on a dark scrim. Posts with no image fall back to a normal card.
BlogCardPreset | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The card surface. Raised is a quiet lit card; Luxe a frosted glass panel; Outline a plaque frame; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. (On image-led cards the photo covers the top edge.) One of raised, luxe, outline, plain, poster, edge, tint, ticket, bracket, forge, press, inlay; a newer site may send others, so keep a fallback.
BlogCardPresetRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of default, square, slight, rounded, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
BlogCardPresetForgeScope | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of corner, frame; a newer site may send others, so keep a fallback.
BlogCardPresetForgeWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Thickness of the Forge corner mark / colored frame. One of fine, medium, bold; a newer site may send others, so keep a fallback.
BlogCardHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. What a card does on hover. Lift/Pop/Press/Glow/Outline are instant; Sheen sweeps a light across; Tilt (3-D + glare), Magnetic and Spotlight follow the cursor (need site animations on). The Hover color below tints these. One of none, lift, pop, press, glow, border, sheen, tilt, magnetic, spotlight; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Border / shadow / glow color on hover. Leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the accent.
boolean
Sometimes sent:undefined when the site leaves it out. Show category.
BlogCardCategoryStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How the category badge uses its color (set per category under Blog Categories). Filled = colored background; Outline = colored border + text; Minimal = colored text only. One of filled, outline, minimal; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Show date.
boolean
Sometimes sent:undefined when the site leaves it out. Show excerpt.
BlogCardExcerptLines | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How many lines of the excerpt to show before truncating. One of 2, 3, 4, none; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Show author.
boolean
Sometimes sent:undefined when the site leaves it out. Show “Read post” link.
BlogCardReadMorePlacement | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Auto puts it on the right of horizontal cards (list / compact / featured) and below the text on grid cards. Or force one placement everywhere. One of auto, below, right; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the “Read post” link color. Leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Color of the “Read post” link when the card is hovered. Leave empty to use the accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color, then the accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the card title color. Leave empty to track the theme’s text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the theme default.
BlogCardTitleWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Title weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Title color when the card is hovered. Leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color, then the accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the excerpt text color. Leave empty for the muted default.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the muted default.
BlogCardTextWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Excerpt weight. One of normal, medium, semibold, bold; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Date / meta line color. Leave empty for the faint default.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the faint default.
BlogBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
BlogBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly BlogPreviewWidgetBlogFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of BlogPreviewWidgetBlogFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show BlogPreviewWidgetBlogFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of BlogPreviewWidgetBlogFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show BlogPreviewWidgetBlogFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
BlogCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
BlogCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
BlogCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
BlogCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
BlogCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
BlogCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
BlogCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show CookieDeclarationWidget
A cookie-declaration widget: its type and its own fields. A field left out takes its default.
CookieDeclarationWidgetType
Always sent. The widget’s type: always cookie-declaration. One of cookie-declaration; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Eyebrow.
string
Sometimes sent:undefined when the site leaves it out. Heading.
string
Sometimes sent:undefined when the site leaves it out. Introduction.
boolean
Sometimes sent:undefined when the site leaves it out. A short block naming what this visitor has allowed, with a button that reopens the preferences panel. Withdrawal has to be as easy as consent, so leave this on unless the page offers another way.
boolean
Sometimes sent:undefined when the site leaves it out. Provider, type, duration and domain per entry. Off leaves the plain-language disclosures alone, which reads better but tells a technical reader less.
CookieDeclLayout | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Layout. One of stacked, compact; a newer site may send others, so keep a fallback.
CookieDeclBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
CookieDeclBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
Sometimes sent:undefined when the site leaves it out. A list of CookieDeclarationWidgetCookieDeclFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show CookieDeclarationWidgetCookieDeclFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of CookieDeclarationWidgetCookieDeclFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show CookieDeclarationWidgetCookieDeclFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show RichTextWidget
A @apostrophecms/rich-text widget: its type and its own fields. A field left out takes its default.
RichTextWidgetType
Always sent. The widget’s type: always @apostrophecms/rich-text. One of @apostrophecms/rich-text; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The text as HTML, e.g. <h2>Our story</h2><p>It began with <strong>one</strong> idea.</p>. The site keeps the tags and styles this area’s editor offers (paragraphs, headings, bold, italic, links, lists…) and removes the rest.
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show PricingWidget
A pricing widget: its type and its own fields. A field left out takes its default.
PricingWidgetType
Always sent. The widget’s type: always pricing. One of pricing; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. A small label above the heading (e.g. “Pricing”).
string
Sometimes sent:undefined when the site leaves it out. Eyebrow.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
PricingEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
PricingEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional. Leave empty to show just the cards.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
PricingHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
PricingHeadingSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Heading size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short sentence under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
PricingIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
PricingIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Intro size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
PricingColumns | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Auto fits as many as comfortably fit and works for any number of cards. Or lock a maximum per row. One of auto, 2, 3, 4; a newer site may send others, so keep a fallback.
PricingGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Gap between cards. One of tight, normal, roomy; a newer site may send others, so keep a fallback.
PricingCardStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The base treatment for every tier (a highlighted tier always gets its own bold framed look). Raised is a quiet lit card; Luxe a frosted glass panel; Outline a plaque frame; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of raised, luxe, outline, plain, poster, edge, tint, ticket, bracket, forge, press, inlay; a newer site may send others, so keep a fallback.
PricingCardStyleRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of default, square, slight, rounded, large; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
PricingCardStyleForgeScope | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of corner, frame; a newer site may send others, so keep a fallback.
PricingCardStyleForgeWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Thickness of the Forge corner mark / colored frame. One of fine, medium, bold; a newer site may send others, so keep a fallback.
PricingAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Aligns the section header and the text inside each card. One of center, left; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Stretch every card to the tallest one and pin each button to the bottom, so the cards line up even with uneven feature lists.
boolean
Sometimes sent:undefined when the site leaves it out. A check (included) or cross (not included) before each feature. Off = a plain list.
PricingCardHover | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How a card reacts to the pointer. Rise floats it up on an accent underglow; Selection ring previews the highlighted look + tints the price; Spotlight washes accent light over the price; Checklist lights up the ✓ marks one-by-one; Tilt is a 3-D parallax that only runs when site animations are on. One of none, rise, ring, spotlight, checklist, tilt; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Border / glow / spotlight / checkmark color on hover. Leave empty to use the highlight accent (then the site accent).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover accent.
PricingEntrance | null
Sometimes sent:undefined when the site leaves it out, and it can be null. How the cards animate in as they scroll into view. Featured-led makes the highlighted tier settle last with a little emphasis (draws the eye to the recommended plan); Simple stagger fades them in evenly. Only plays when site animations are on (Site design → Motion) — otherwise the cards are simply shown. One of featured, stagger, none; a newer site may send others, so keep a fallback.
PricingNameSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size of each card’s name / title. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
PricingPriceSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size of the price amount (the period and price note scale with it). One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
PricingDescSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size of each card’s description blurb. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
PricingFeatureSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size of the feature list text (notes and check marks scale with it). One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Ribbon text shown on a highlighted tier that doesn’t set its own badge. Each tier can override it (or badge a non-highlighted tier) below. Leave empty for no automatic badge.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Color for the highlighted tier’s border + ring and each tier’s badge. Leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme accent.
readonly PricingWidgetPricingTiersItem[]
Sometimes sent:undefined when the site leaves it out. A list of PricingWidgetPricingTiersItem. Each card is one tier / package / service. Toggle “Highlight” on the one you want to stand out. Its fields are listed under the first PricingWidgetPricingTiersItem above.
PricingBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
PricingBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
readonly PricingWidgetPricingFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of PricingWidgetPricingFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first PricingWidgetPricingFontOverridesItem above.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
PricingFeaturedCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
PricingFeaturedCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
PricingFeaturedCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
PricingFeaturedCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
PricingFeaturedCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
PricingFeaturedCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
PricingFeaturedCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
PricingCtaVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
PricingCtaSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
PricingCtaRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
PricingCtaStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
PricingCtaAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
PricingCtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
PricingCtaIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show NewsletterWidget
A newsletter widget: its type and its own fields. A field left out takes its default.
NewsletterWidgetType
Always sent. The widget’s type: always newsletter. One of newsletter; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. The Form (Forms manager) that receives these submissions and routes them — configure its destinations on the form’s Actions tab. Create one if you have not yet. The related @apostrophecms/form documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
boolean
Sometimes sent:undefined when the site leaves it out. Show eyebrow.
string
Sometimes sent:undefined when the site leaves it out. Small label shown above the title.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the mint default.
NewsletterEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
NewsletterEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
NewsletterHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
NewsletterHeadingSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short sentence under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
NewsletterIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
NewsletterIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
NewsletterBand | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Plain sits on the page; Raised is a contained card; Accent is a solid brand-color band. One of plain, raised, accent; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The accent band color. Leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the accent.
NewsletterAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Alignment. One of center, left; a newer site may send others, so keep a fallback.
NewsletterLayout | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Inline puts the field + button on one row (stacks on small screens); Stacked always stacks them. One of inline, stacked; a newer site may send others, so keep a fallback.
NewsletterWidth | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Content width. One of narrow, normal, wide; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Collect a name.
string
Sometimes sent:undefined when the site leaves it out. Name label.
string
Sometimes sent:undefined when the site leaves it out. Name placeholder.
string
Sometimes sent:undefined when the site leaves it out. Email label.
string
Sometimes sent:undefined when the site leaves it out. Email placeholder.
boolean
Sometimes sent:undefined when the site leaves it out. Optional opt-in checkbox (e.g. for GDPR-style explicit consent).
string
Sometimes sent:undefined when the site leaves it out. Consent statement.
string
Sometimes sent:undefined when the site leaves it out. A small line under the form, e.g. an unsubscribe note.
string
Sometimes sent:undefined when the site leaves it out. Success message.
string
Sometimes sent:undefined when the site leaves it out. Error message.
NewsletterBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
NewsletterBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
Sometimes sent:undefined when the site leaves it out. A list of NewsletterWidgetNewsletterFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show NewsletterWidgetNewsletterFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of NewsletterWidgetNewsletterFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show NewsletterWidgetNewsletterFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
NewsletterSubmitVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
NewsletterSubmitSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
NewsletterSubmitRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
NewsletterSubmitStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
NewsletterSubmitAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
NewsletterSubmitIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
NewsletterSubmitIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show SmsSignupWidget
A sms-signup widget: its type and its own fields. A field left out takes its default.
SmsSignupWidgetType
Always sent. The widget’s type: always sms-signup. One of sms-signup; a newer site may send others, so keep a fallback.
string
Always sent. Shown beside a required checkbox; the form shows only once this is filled in. Be specific about what they are agreeing to. The brand name is added automatically from Site settings.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. The Form (Forms manager) that receives these SMS opt-ins and routes them — configure its destinations on the form’s Actions tab. The related @apostrophecms/form documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
boolean
Sometimes sent:undefined when the site leaves it out. Show eyebrow.
string
Sometimes sent:undefined when the site leaves it out. Small label shown above the title.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the mint default.
SmsSignupEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
SmsSignupEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
SmsSignupHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
SmsSignupHeadingSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short sentence under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
SmsSignupIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
SmsSignupIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
SmsSignupBand | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Plain sits on the page; Raised is a contained card; Accent is a solid brand-color band. One of plain, raised, accent; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The accent band color. Leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the accent.
SmsSignupAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Alignment. One of center, left; a newer site may send others, so keep a fallback.
SmsSignupLayout | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Inline puts the field + button on one row (stacks on small screens); Stacked always stacks them. One of inline, stacked; a newer site may send others, so keep a fallback.
SmsSignupWidth | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Content width. One of narrow, normal, wide; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Collect a name.
string
Sometimes sent:undefined when the site leaves it out. Name label.
string
Sometimes sent:undefined when the site leaves it out. Name placeholder.
string
Sometimes sent:undefined when the site leaves it out. Phone label.
string
Sometimes sent:undefined when the site leaves it out. Phone placeholder.
string
Sometimes sent:undefined when the site leaves it out. Carrier-compliance fine print shown under the form.
string
Sometimes sent:undefined when the site leaves it out. Optional — linked from the fine print.
string
Sometimes sent:undefined when the site leaves it out. Optional — linked from the fine print.
string
Sometimes sent:undefined when the site leaves it out. Success message.
string
Sometimes sent:undefined when the site leaves it out. Error message.
SmsSignupBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
SmsSignupBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
Sometimes sent:undefined when the site leaves it out. A list of SmsSignupWidgetSmsSignupFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show SmsSignupWidgetSmsSignupFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of SmsSignupWidgetSmsSignupFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show SmsSignupWidgetSmsSignupFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
SmsSignupSubmitVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
SmsSignupSubmitSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
SmsSignupSubmitRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
SmsSignupSubmitStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
SmsSignupSubmitAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
SmsSignupSubmitIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
SmsSignupSubmitIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show FormRenderWidget
A form-render widget: its type and its own fields. A field left out takes its default.
FormRenderWidgetType
Always sent. The widget’s type: always form-render. One of form-render; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
readonly Readonly<Record<string, unknown>>[]
Sometimes sent:undefined when the site leaves it out. The form to show here. Build and edit the form itself in the Forms manager (create one there first if needed). The related @apostrophecms/form documents, in order (empty when none). To set it, send a list of { "_id": "…" }, one per document (one at most); a document the site can’t find is left out. At most 1 items.
boolean
Sometimes sent:undefined when the site leaves it out. Off: the form renders with the styling saved on the form itself. On: the styling below replaces it here only — the form’s fields and other placements are unaffected.
readonly FormRenderWidgetFormFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of FormRenderWidgetFormFontOverridesItem. Optional. Set part of this form in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show FormRenderWidgetFormFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of FormRenderWidgetFormFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show FormRenderWidgetFormFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
boolean
Sometimes sent:undefined when the site leaves it out. Show eyebrow.
string
Sometimes sent:undefined when the site leaves it out. Small label shown above the title.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the mint default.
FormEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
FormEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to track the theme text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FormHeadingWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
FormHeadingSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Optional short sentence under the heading.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the muted text color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color.
FormIntroWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
FormIntroSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Size. One of small, normal, large, xlarge, xxlarge; a newer site may send others, so keep a fallback.
FormBand | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Plain sits on the page; Raised is a contained card; Accent is a solid brand-color band. One of plain, raised, accent; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The accent band color. Leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the accent.
FormAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Alignment of the section header (the form fields stay left-aligned for legibility). One of center, left; a newer site may send others, so keep a fallback.
FormWidth | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Content width. One of narrow, normal, wide; a newer site may send others, so keep a fallback.
FormLabelGap | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vertical space between each field’s label and its input. One of compact, normal, roomy, spacious; a newer site may send others, so keep a fallback.
FormBg | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (dark theme)” is set to Custom color.
FormBgLight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of inherit, transparent, surface, raised, sunken, hill, accent-soft, custom; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Used when “Section background (light theme)” is set to Custom color.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
FormSubmitVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
FormSubmitSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
FormSubmitRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
FormSubmitStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
FormSubmitAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
FormSubmitIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
FormSubmitIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Show FinalCtaWidget
A final-cta widget: its type and its own fields. A field left out takes its default.
FinalCtaWidgetType
Always sent. The widget’s type: always final-cta. One of final-cta; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.
MetaType
Sometimes sent:undefined when the site leaves it out. Always widget. One of widget; a newer site may send others, so keep a fallback.
CtaAlign | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Content alignment. One of center, left; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. Show eyebrow / kicker.
string
Sometimes sent:undefined when the site leaves it out. Small label shown above the title.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the mint default.
CtaEyebrowWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
CtaEyebrowSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Eyebrow size. One of small, normal, large, xlarge; a newer site may send others, so keep a fallback.
CtaIconPlacement | null
Sometimes sent:undefined when the site leaves it out, and it can be null. An optional Font Awesome icon above the headline. One of none, top; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
CtaIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional — leave empty to use the design’s own color rhythm.
CtaIconAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon animation. One of none, fa-beat, fa-bounce, fa-fade, fa-beat-fade, fa-flip, fa-shake, fa-spin; a newer site may send others, so keep a fallback.
CtaIconSize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Relative to the component’s base icon size. One of default, sm, lg, xl, 2xl, 2x, 3x, 4x, 5x; a newer site may send others, so keep a fallback.
CtaIconTilt | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A slight rotation for a more playful look. One of none, left, right; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Headline.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the headline color. Leave empty for the on-accent (legible-on-band) default.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the on-accent default.
CtaHeadlineWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Headline weight. One of normal, medium, semibold, bold, extrabold; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Supporting copy.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Overrides the supporting-copy color. Leave empty for the softened on-accent default.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the softened on-accent default.
CtaBodyWeight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Body weight. One of normal, medium, semibold, bold; a newer site may send others, so keep a fallback.
CtaBackgroundType | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid keeps the loud color block; Image places a photo behind the text with a readability overlay. One of solid, image; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The solid band color (and the fallback behind a background image). Leave empty to use the site accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color, then the accent.
ImageArea
Sometimes sent:undefined when the site leaves it out. An ImageArea. Widgets, top to bottom: send { "items": [ … ] }, one object per widget with its type. Writing it replaces the whole area. Its fields are listed under the first ImageArea above.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Scrim over the image to keep the text readable. Leave empty to use the accent color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme overlay, then the accent.
number | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Overlay opacity (%). 0 to 100.
boolean
Sometimes sent:undefined when the site leaves it out. The two large outlined circles on the band.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Drawn at a low opacity. Leave empty to use the on-accent (white-ish) default.
readonly FinalCtaWidgetCtaFontOverridesItem[]
Sometimes sent:undefined when the site leaves it out. A list of FinalCtaWidgetCtaFontOverridesItem. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.
Show FinalCtaWidgetCtaFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
Sometimes sent:undefined when the site leaves it out. A list of FinalCtaWidgetCtaFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show FinalCtaWidgetCtaFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
CtaPrimaryVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
CtaPrimarySize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
CtaPrimaryRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
CtaPrimaryStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
CtaPrimaryAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
CtaPrimaryIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
CtaPrimaryIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
string
Sometimes sent:undefined when the site leaves it out. The visible button text. Leave empty to hide the button.
string
Sometimes sent:undefined when the site leaves it out. Where the button goes — a path (/blog) or full URL.
boolean
Sometimes sent:undefined when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).
CtaSecondaryVariant | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of solid, outline, soft, link; a newer site may send others, so keep a fallback.
CtaSecondarySize | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Button size. One of small, normal, large; a newer site may send others, so keep a fallback.
CtaSecondaryRadius | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Corner radius. One of pill, rounded, slight, square; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The text/icon color. Clear it to derive from the button color (readable on solid fills).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme label color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. Drives the hover treatment. Leave empty to derive it from the button color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme hover color.
CtaSecondaryStyle | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of none, single, dual, glow, sweep, thicken; a newer site may send others, so keep a fallback.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Optional light-theme override. Falls back to the dark-theme shadow color.
CtaSecondaryAnimation | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Hover motion. One of lift, scale, lift-scale, none; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.
CtaSecondaryIconFamily | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Icon family. One of classic-regular, duotone-regular, brands, jelly, jelly-duo, whiteboard; a newer site may send others, so keep a fallback.
CtaSecondaryIconPosition | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which side of the label the icon sits on (when an icon name is set). One of before, after; a newer site may send others, so keep a fallback.
boolean
Sometimes sent:undefined when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).
CustomCSS | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A CustomCSS. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like &:hover, @media (width >= 48rem) and [data-theme=“light”] & work inside a slot. Its fields are listed under the first CustomCSS above.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
readonly BlogPostFontOverridesItem[] | null
Sometimes sent:undefined when the site leaves it out, and it can be null. A list of BlogPostFontOverridesItem. Optional. Leave empty to follow the blog’s Reading settings (and, through them, the site fonts). Adding a row here replaces the blog-wide choice for this post only. At most 4 items.
Show BlogPostFontOverridesItem
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Target | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of all, heading, body, eyebrow, button, code; a newer site may send others, so keep a fallback.
Source | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of slot, curated, cdn, upload; a newer site may send others, so keep a fallback.
Slot | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of display, body, accent; a newer site may send others, so keep a fallback.
Curated | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of archivo, bricolage-grotesque, clash-display, courier-prime, dm-mono, dm-sans, fira-code, fraunces, general-sans, ibm-plex-mono, ibm-plex-sans, inconsolata, inter, jetbrains-mono, karla, lora, manrope, nunito-sans, outfit, playfair-display, public-sans, red-hat-mono, satoshi, sentient, sora, source-code-pro, source-sans-3, source-serif-4, space-grotesk, space-mono, spline-sans-mono, supreme, switzer, syne, ubuntu-mono, unbounded, victor-mono, work-sans, zodiak; a newer site may send others, so keep a fallback.
CdnProvider | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of bunny, fontshare; a newer site may send others, so keep a fallback.
string
Sometimes sent:undefined when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.
string
Sometimes sent:undefined when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.
readonly BlogPostFontOverridesItemUploadsItem[]
Sometimes sent:undefined when the site leaves it out. A list of BlogPostFontOverridesItemUploadsItem. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.
Show BlogPostFontOverridesItemUploadsItem
Readonly<Record<string, unknown>>
Always sent. File attachment reference.
string
Sometimes sent:undefined when the site leaves it out. The row’s id, unique in its array.
Weight | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Weight. One of 100, 200, 300, 400, 500, 600, 700, 800, 900; a newer site may send others, so keep a fallback.
Style | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Style. One of normal, italic; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
Fallback | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of sans, serif, mono; a newer site may send others, so keep a fallback.
Readonly<Record<string, unknown>>
Always there:{} when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Overrides the document title in the browser tab and search results. Leave blank to use the regular title.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. Shown in search results and link previews. Aim for 150–160 characters.
ImageArea
Sometimes sent:undefined when the site leaves it out. An ImageArea. Used for Open Graph / social link previews. Recommended 1200×630. Widgets, top to bottom: send { "items": [ … ] }, one object per widget with its type. Writing it replaces the whole area. Its fields are listed under the first ImageArea above.
boolean | null
Sometimes sent:undefined when the site leaves it out, and it can be null. In the archive: kept, but out of every list and off the site until it is restored. false (or null) for a live document.
Date | null
Sometimes sent:undefined when the site leaves it out, and it can be null. When it was created (ISO 8601). Format: an ISO 8601 date and time.
Date | null
Sometimes sent:undefined when the site leaves it out, and it can be null. When it last changed (ISO 8601). Format: an ISO 8601 date and time.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The document’s page on the site. Format: an absolute URL.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The page that lists it (the blog page). Format: an absolute URL.
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. That page’s slug.
Readonly<Record<string, unknown>>
Sometimes sent:undefined when the site leaves it out. That page, briefly (_id, title, slug, type, path, level).
string | null
Sometimes sent:undefined when the site leaves it out, and it can be null. The draft’s preview share key, while its share link is on: the link is the draft’s _url with aposShareKey and aposShareId (the draft’s _id) in its query. Absent otherwise, and on published documents.
Errors
Nothing to catch: the SDK retries what is safe, and throws the rest as the classes below. Your exception handler turns them into your app’s own answers, once for every call (see Map SDK errors to responses); catch only what you want to react to here.
400
The site refused what was sent: errors lists each field’s problem, siteMessage the first.Retried first: No. Read:errors (field → messages), siteMessage.
401
The API key is missing or refused (malformed, revoked, expired), or a signature its signing mode needs is missing or stale.Retried first: No. Read:siteMessage, errorName, data.
403
The key may not do this: a scope it lacks, or an address outside its allowlist. siteMessage names it.Retried first: No. Read:siteMessage, errorName, data.
404
Nothing matches, or the caller may not see it.Retried first: No. Read:siteMessage, errorName, data.
500
The site failed. Its logs say why.Retried first: No: a write may have landed. Read:siteMessage, errorName, data.
no answer
No answer: DNS, a refused connection, TLS, or the timeout (15 s per attempt by default).Retried first: Only when nothing reached the site (neverConnected()); never after a timeout, when it may have landed. Read:reason, neverConnected.
not sent
The client refused to send it (e.g. a path segment of ..); the site never saw it.Retried first: No. Read:reason (what to change).
any other
Any other status, or a success whose JSON doesn’t match this SDK version’s types (update the SDK).Retried first: No. Read:reason, status.
setup
sites.forSite('acme') named a slug config/attract.ts doesn’t list (with the keys in the database: no row in attract_api_keys).Retried first: No: nothing was sent. Read:message, slug.
setup
The site’s entry is wrong: a malformed baseUrl or key, a key filed under another slug, or no default site. node ace attract:check names the fix.Retried first: No: nothing was sent. Read:message (what to fix).
Behavior
Access: an API key with content:blog:publish (or a master above it: content:blog:all, content:all, admin:all). A signed-in person may call it as far as their own permissions allow; anyone else gets 403.
Rate limit: the key’s own writes-per-minute limit, set when the key is created (default 120); over it, 429 with Retry-After. The client waits and retries for you; you see RateLimited only if that runs out.
Retries: a write is sent again only after a 429 (refused before it acted) or when it never reached the site. After a timeout or a 5xx it may have landed: check before you send it again.
Timeout: 15 s per attempt by default; raise timeout (milliseconds) in config/attract.ts for longer.
Test it
It calls the controller above with the SDK faked: fakeAttract() puts the fake in the container for this one test, and it answers every call with a valid example, so nothing leaves your machine and no key is read. Save it as tests/unit/blog_posts_publish_blog.spec.ts, then run your tests:
tests/unit/blog_posts_publish_blog.spec.ts
import { test } from '@japa/runner'import app from '@adonisjs/core/services/app'import testUtils from '@adonisjs/core/services/test_utils'import { fakeAttract } from '@fetchski/attract-cms-adonis/testing'import PublishBlogController from '#controllers/publish_blog_controller'test('blogPosts.publishBlog', async () => { const site = fakeAttract() const ctx = await testUtils.createHttpContext() ctx.params = { id: 'clx8m2k4p0000a1b2c3d4e5f6' } const controller = await app.container.make(PublishBlogController) await controller.handle(ctx) site.assertCalled('blogPosts.publishBlog', (args) => args.id === 'clx8m2k4p0000a1b2c3d4e5f6')})
Terminal
node ace test
Answer with your own values: fake blogPosts.publishBlog with factories.Blog({...}), the fields you give over a valid example.
import { test } from '@japa/runner'import { factories, fakeAttract } from '@fetchski/attract-cms-adonis/testing'test('blogPosts.publishBlog answers your values', async ({ assert }) => { const site = fakeAttract({ 'blogPosts.publishBlog': factories.Blog({ title: 'Your value' }), }) const blog = await site.blogPosts().publishBlog({ id: 'clx8m2k4p0000a1b2c3d4e5f6' }) assert.containSubset(blog, { title: 'Your value' })})
Related
List a blog post’s locales
site.blogPosts().getBlogLocales()
Get the Markdown template
site.blogPosts().getBlogMarkdownTemplate()
Get the MDX template
site.blogPosts().getBlogMdxTemplate()
List blog posts
site.blogPosts().listBlogs()
Create a blog post
site.blogPosts().createBlog()
Get a blog post
site.blogPosts().getBlog()
POST /@apostrophecms/blog/{_id}/publish
The endpoint this calls, in the API reference: the HTTP request and answer, and every rule the site checks.
⌘I
import app from '@adonisjs/core/services/app'import { SiteClient } from '@fetchski/attract-cms-sdk'const site = await app.container.make(SiteClient)const blog = await site.blogPosts().publishBlog({ id: 'clx8m2k4p0000a1b2c3d4e5f6' })
{"docsConfig":{"theme":"almond","$schema":"https://mintlify.com/docs.json","name":"Fetchski Attract Docs","colors":{"primary":"#16a34a","light":"#22c55e","dark":"#15803d"},"logo":{"light":"https://mintcdn.com/fetchski-attract-api/mn9qfQRsqaASh7UE/logo/light.svg?fit=max\u0026auto=format\u0026n=mn9qfQRsqaASh7UE\u0026q=85\u0026s=66db13e248b70a44a5ff5f6990d4cb63","dark":"https://mintcdn.com/fetchski-attract-api/mn9qfQRsqaASh7UE/logo/dark.svg?fit=max\u0026auto=format\u0026n=mn9qfQRsqaASh7UE\u0026q=85\u0026s=86904ba8d47714303521b2dcd5aa2a50","href":"/"},"favicon":"https://mintcdn.com/fetchski-attract-api/mn9qfQRsqaASh7UE/favicon.svg?fit=max\u0026auto=format\u0026n=mn9qfQRsqaASh7UE\u0026q=85\u0026s=fd4f2c0615961c9e01c9762b98c8999f","api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["bash","typescript","php"]}},"appearance":{"default":"dark"},"background":{"color":{"light":"#ffffff","dark":"#0b0e13"}},"search":{"prompt":"Search the docs…"},"seo":{"metatags":{"robots":"noindex, nofollow"}},"fonts":{"family":"Inter"},"icons":{"library":"fontawesome"},"styling":{"codeblocks":"dark","latex":true},"contextual":{"options":["copy","view"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"fetchski-attract-api","hasAudioNarration":false,"actualSubdomain":"fetchski-attract-api","customDomains":["docs.fetchski-attract.com"],"gitSource":{"type":"github","owner":"fetchski","repo":"fetchski_cms_astro_monorepo","deployBranch":"main","contentDirectory":"docs/attract","isPrivate":true,"mountPath":"","label":"","_id":"6adb9c232f0947a18a27541d"},"entitlements":{},"buildId":"6af6df04bd8b0362cdec74ff","clientVersion":"0.0.4131","searchFilterCounts":[{"language":"default","tag":"Media","count":953},{"language":"default","tag":"Content","count":863},{"language":"default","tag":"Publishing","count":720},{"language":"default","tag":"API reference","count":484},{"language":"default","tag":"Laravel","count":472},{"language":"default","tag":"TypeScript","count":470},{"language":"default","tag":"AdonisJS","count":469},{"language":"default","tag":"Batch jobs","count":364},{"language":"default","tag":"Pages \u0026 Site","count":224},{"language":"default","tag":"Forms","count":168}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@media (min-width: 1280px){:root{--content-width: 52rem}}@media (min-width: 1600px){:root{--content-width: 60rem}}@media (min-width: 1920px){:root{--content-width: 68rem}}@media (min-width: 1024px) and (max-width: 1919px){#content-container{padding-left:2rem;padding-right:2rem}div:has(>#content-area){padding-left:0}#table-of-contents{width:14rem}}html[data-page-mode=\"wide\"] #content-area{max-width:84rem}@media (min-width: 1024px){#navbar .nav-tabs{position:fixed;left:15rem;top:0;height:6rem}}@media (min-width: 1024px) and (max-width: 1599px){#navbar .nav-tabs{gap:0}#navbar .nav-tabs .nav-tabs-item{gap:0.375rem;font-size:0.9375rem;padding-inline:0.5rem}#navbar .nav-tabs .nav-tabs-item svg,#navbar .nav-tabs .nav-tabs-item img{width:1.0625rem;height:1.0625rem}}@media (min-width: 1024px) and (max-width: 1199px){#navbar .nav-tabs .nav-tabs-item svg,#navbar .nav-tabs .nav-tabs-item img{display:none}}@media (min-width: 1024px) and (max-width: 1319px){div:has(>#search-bar-entry){width:3rem!important}#search-bar-entry{justify-content:center;padding:0!important}#search-bar-entry>div>:not(svg),#search-bar-entry>:not(div){display:none}}.mdx-content{font-size:1.0625rem;line-height:1.8}@media (min-width: 1024px){.mdx-content{font-size:1.25rem;line-height:1.85}#page-title{font-size:2.875rem;line-height:1.15}#page-title+*,#header .prose{font-size:1.375rem}#sidebar-content a{font-size:1.125rem}.toc-item{font-size:1rem}}.mdx-content>[data-as=\"p\"],.mdx-content>p{margin-top:0;margin-bottom:1.75rem}.mdx-content>h2{margin-top:3.5rem;margin-bottom:1.25rem;padding-top:2rem;border-top:1px solid rgb(0 0 0 / 0.08);font-size:1.875rem;letter-spacing:-0.01em}.dark .mdx-content>h2{border-top-color:rgb(255 255 255 / 0.08)}.mdx-content>h2:first-child{margin-top:0;padding-top:0;border-top:0}.mdx-content>h3{margin-top:2.75rem;margin-bottom:1.125rem;font-size:1.4375rem}.mdx-content>h4{margin-top:2rem;margin-bottom:0.75rem}.mdx-content li{margin-top:0.625rem;margin-bottom:0.625rem}.mdx-content>ul,.mdx-content>ol{margin-bottom:1.75rem}.mdx-content :not(pre)>code{font-size:0.875em;padding:0.125rem 0.375rem;overflow-wrap:anywhere}.mdx-content table{font-size:1.0625rem;line-height:1.7}.mdx-content th,.mdx-content td{padding:0.875rem 1.5rem 0.875rem 0!important;vertical-align:top}.mdx-content th{padding-top:0.25rem!important}.mdx-content th:last-child,.mdx-content td:last-child{padding-right:0!important}.mdx-content td>code:only-child{white-space:nowrap}pre{max-height:36rem;overflow:auto}.mdx-content pre code{font-size:0.9375rem;line-height:1.75}.mdx-content>.code-block,.mdx-content>.code-group{margin-top:1.5rem;margin-bottom:2rem}.mdx-content .columns{column-gap:1.25rem;row-gap:0.5rem;margin-top:1.75rem;margin-bottom:2.25rem}.mdx-content .card{border-radius:1rem}.mdx-content .card [data-component-part=\"card-content-container\"]{padding:1.5rem 1.75rem}.mdx-content [data-component-part=\"card-title\"]{font-size:1.25rem}.mdx-content [data-component-part=\"card-content\"]{font-size:1.0625rem;line-height:1.7}.mdx-content .callout{margin-top:2rem;margin-bottom:2.25rem;padding:1.25rem 1.75rem;font-size:1.125rem;line-height:1.75}.mdx-content .steps{margin-top:1.75rem;margin-bottom:2.25rem}.mdx-content .step{padding-bottom:0.75rem}.mdx-content .accordion-group,.mdx-content>.accordion{margin-top:1.75rem;margin-bottom:2.25rem}.mdx-content .tabs{margin-top:1.75rem;margin-bottom:2.25rem}.mdx-content .tabs [role=\"tabpanel\"]{padding-top:0.375rem;padding-right:0.375rem;padding-bottom:0.375rem}.mdx-content [data-component-name=\"mermaid-container\"]{--im-node-fill: #ecfdf3;--im-node-stroke: #16a34a;--im-node-text: #0b3a1f;--im-cluster-fill: rgb(22 163 74 / 0.04);--im-cluster-stroke: rgb(22 163 74 / 0.35);--im-edge: #64748b;--im-label-bg: #ffffff;margin-top:1.75rem;margin-bottom:2.25rem;padding:2rem 1.5rem;border:1px solid rgb(0 0 0 / 0.08);border-radius:1rem;background:rgb(0 0 0 / 0.015)}.dark .mdx-content [data-component-name=\"mermaid-container\"]{--im-node-fill: #0b2e1a;--im-node-stroke: #22c55e;--im-node-text: #e7fbef;--im-cluster-fill: rgb(34 197 94 / 0.05);--im-cluster-stroke: rgb(34 197 94 / 0.35);--im-edge: #94a3b8;--im-label-bg: #0f1214;border-color:rgb(255 255 255 / 0.08);background:rgb(255 255 255 / 0.02)}.mdx-content [data-component-name=\"mermaid-container\"] svg[id^=\"mermaid\"]{display:block;margin-left:auto;margin-right:auto}.mdx-content [data-component-name=\"mermaid-container\"] .node rect,.mdx-content [data-component-name=\"mermaid-container\"] .node polygon,.mdx-content [data-component-name=\"mermaid-container\"] .node circle,.mdx-content [data-component-name=\"mermaid-container\"] .node path{fill:var(--im-node-fill)!important;stroke:var(--im-node-stroke)!important;stroke-width:1.5px!important}.mdx-content [data-component-name=\"mermaid-container\"] .node rect{rx:8px;ry:8px}.mdx-content [data-component-name=\"mermaid-container\"] .nodeLabel,.mdx-content [data-component-name=\"mermaid-container\"] .node .label{color:var(--im-node-text)!important;fill:var(--im-node-text)!important}.mdx-content [data-component-name=\"mermaid-container\"] .cluster rect{fill:var(--im-cluster-fill)!important;stroke:var(--im-cluster-stroke)!important;stroke-dasharray:6 4;rx:12px;ry:12px}.mdx-content [data-component-name=\"mermaid-container\"] .cluster-label .nodeLabel,.mdx-content [data-component-name=\"mermaid-container\"] .cluster .nodeLabel{color:var(--im-node-stroke)!important}.mdx-content [data-component-name=\"mermaid-container\"] .flowchart-link,.mdx-content [data-component-name=\"mermaid-container\"] .edgePath path{stroke:var(--im-edge)!important;stroke-width:1.5px!important}.mdx-content [data-component-name=\"mermaid-container\"] marker path,.mdx-content [data-component-name=\"mermaid-container\"] .arrowheadPath{fill:var(--im-edge)!important;stroke:var(--im-edge)!important}.mdx-content [data-component-name=\"mermaid-container\"] .edgeLabel,.mdx-content [data-component-name=\"mermaid-container\"] .edgeLabel p,.mdx-content [data-component-name=\"mermaid-container\"] .labelBkg{background-color:var(--im-label-bg)!important;color:var(--im-edge)!important}.mdx-content [data-component-name=\"mermaid-container\"] rect.actor{fill:var(--im-node-fill)!important;stroke:var(--im-node-stroke)!important;stroke-width:1.5px!important;rx:8px;ry:8px}.mdx-content [data-component-name=\"mermaid-container\"] text.actor>tspan,.mdx-content [data-component-name=\"mermaid-container\"] text.actor{fill:var(--im-node-text)!important}.mdx-content [data-component-name=\"mermaid-container\"] .actor-line{stroke:var(--im-cluster-stroke)!important}.mdx-content [data-component-name=\"mermaid-container\"] .messageLine0,.mdx-content [data-component-name=\"mermaid-container\"] .messageLine1{stroke:var(--im-edge)!important;stroke-width:1.5px!important}.mdx-content [data-component-name=\"mermaid-container\"] #arrowhead path,.mdx-content [data-component-name=\"mermaid-container\"] #crosshead path{fill:var(--im-edge)!important;stroke:var(--im-edge)!important}.mdx-content [data-component-name=\"mermaid-container\"] .note{fill:var(--im-cluster-fill)!important;stroke:var(--im-cluster-stroke)!important}.mdx-content .field .prose-sm{font-size:1.0625rem;line-height:1.8}@media (min-width: 1024px){.mdx-content .field .prose-sm{font-size:1.125rem}}.mdx-content .field{padding-top:1.25rem;padding-bottom:1.25rem}:root{--fa-accent: 22 163 74;--fa-ink: 15 23 42;--fa-button: 21 128 61;--fa-button-hover: 22 101 52;--fa-on-button: 255 255 255}.dark{--fa-accent: 34 197 94;--fa-ink: 255 255 255;--fa-button: 34 197 94;--fa-button-hover: 74 222 128;--fa-on-button: 5 46 22}.mdx-content .card{transition:border-color 150ms ease,\n background-color 150ms ease}.mdx-content a.card:hover,.mdx-content .card:has(a:hover){border-color:rgb(var(--fa-accent) / 0.45);background-color:rgb(var(--fa-accent) / 0.06)}.mdx-content .card [data-component-part=\"card-icon\"]{display:flex;width:1.75rem;height:1.75rem;margin-bottom:1rem}.mdx-content .card [data-component-part=\"card-icon\"] svg{width:1.75rem;height:1.75rem;mask-size:contain;background-color:rgb(var(--fa-accent))!important}.mdx-content .card [data-component-part=\"card-content-container\"].flex [data-component-part=\"card-icon\"]{margin-bottom:0}html[data-page-mode=\"wide\"] #header{display:none}.fa-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0, 1fr);gap:3rem;align-items:center;overflow:hidden;margin:-1.5rem 0 3.5rem;padding:3.5rem 3rem;border:1px solid rgb(var(--fa-accent) / 0.2);border-radius:1.5rem;background-color:rgb(var(--fa-accent) / 0.025);background-image:radial-gradient(\n 55% 75% at 82% 50%,\n rgb(var(--fa-accent) / 0.16),\n transparent 70%\n )}.fa-hero::before{content:'';position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgb(var(--fa-accent) / 0.1) 1px, transparent 1px),\n linear-gradient(90deg, rgb(var(--fa-accent) / 0.1) 1px, transparent 1px);background-size:2rem 2rem;background-position:-1px -1px;mask-image:radial-gradient(80% 90% at 85% 40%, #000 20%, transparent 75%);pointer-events:none}.fa-hero::after{content:'';position:absolute;top:0;right:10%;left:10%;height:1px;background:linear-gradient(\n 90deg,\n transparent,\n rgb(var(--fa-accent) / 0.8),\n transparent\n );pointer-events:none}@media (min-width: 1536px){.fa-hero{grid-template-columns:minmax(0, 0.85fr) minmax(0, 1.15fr);padding:4rem 3.5rem}}.fa-hero-code>.code-group,.fa-hero-code>.code-block{margin:0;border-color:rgb(var(--fa-accent) / 0.25);box-shadow:0 1px 0 rgb(255 255 255 / 0.04) inset,\n 0 30px 60px -24px rgb(0 0 0 / 0.55),\n 0 0 0 6px rgb(var(--fa-accent) / 0.06)}.mdx-content .fa-hero-code pre code{font-size:0.8125rem}.mdx-content .fa-hero .fa-hero-mark{margin:0 0 1.75rem}.mdx-content .fa-hero .fa-hero-mark img{display:block;width:auto;height:4rem;margin:0;border-radius:0}.mdx-content .fa-hero .fa-hero-mark .fa-hero-mark-dark,.dark .mdx-content .fa-hero .fa-hero-mark .fa-hero-mark-light{display:none}.dark .mdx-content .fa-hero .fa-hero-mark .fa-hero-mark-dark{display:block}.fa-hero h1{max-width:40rem;margin:0;font-size:3.25rem;font-weight:700;line-height:1.06;letter-spacing:-0.035em;text-wrap:balance}.fa-hero h1 .fa-hero-accent{color:rgb(var(--fa-accent))}.mdx-content .fa-hero-lede{max-width:34rem;margin:1.5rem 0 2.25rem;font-size:1.1875rem;line-height:1.7;opacity:0.78;text-wrap:pretty}.fa-hero-actions{display:flex;flex-wrap:wrap;gap:0.75rem}.mdx-content .fa-hero-facts{display:flex;flex-wrap:wrap;gap:0.5rem 1.5rem;margin-top:2rem;font-size:0.9375rem;opacity:0.8}.mdx-content .fa-hero-facts>span{display:inline-flex;align-items:center;gap:0.5rem}.mdx-content .fa-hero-facts>span::before{content:'';flex:none;width:1rem;height:1rem;background:rgb(var(--fa-accent));mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\")\n center / contain no-repeat}.fa-button{display:inline-flex;align-items:center;gap:0.5rem;height:2.75rem;padding:0 1.125rem;border:1px solid transparent;border-radius:0.625rem;font-size:0.9375rem;font-weight:600;letter-spacing:-0.005em;text-decoration:none!important;transition:background-color 150ms ease,\n border-color 150ms ease,\n box-shadow 150ms ease,\n transform 150ms ease}.fa-button-primary{border-color:rgb(var(--fa-button) / 1);background:rgb(var(--fa-button));box-shadow:inset 0 1px 0 rgb(255 255 255 / 0.25),\n 0 8px 20px -10px rgb(var(--fa-button) / 0.9);color:rgb(var(--fa-on-button))!important}.fa-button-primary::after{content:'';width:1rem;height:1rem;background:currentcolor;mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h9.5M8.5 4l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E\")\n center / contain no-repeat;transition:transform 150ms ease}.fa-button-primary:hover{background:rgb(var(--fa-button-hover));box-shadow:inset 0 1px 0 rgb(255 255 255 / 0.25),\n 0 10px 24px -10px rgb(var(--fa-button) / 1)}.fa-button-primary:hover::after{transform:translateX(2px)}.fa-button-secondary{border-color:rgb(var(--fa-ink) / 0.16);background:rgb(var(--fa-ink) / 0.03);color:inherit!important}.fa-button-secondary:hover{border-color:rgb(var(--fa-accent) / 0.55);background:rgb(var(--fa-accent) / 0.08)}.fa-button:active{transform:translateY(1px)}.fa-button:focus-visible{outline:2px solid rgb(var(--fa-accent));outline-offset:3px}@media (prefers-reduced-motion: reduce){.fa-button,.fa-button-primary::after{transition:none}.fa-button:active,.fa-button-primary:hover::after{transform:none}}@media (max-width: 767px){.fa-hero{padding:2.5rem 1.5rem}.fa-hero h1{font-size:2.25rem}}#sidebar-content a,#sidebar-content li>button{gap:0.875rem;padding-top:0.625rem;padding-right:0.5rem;padding-bottom:0.625rem;font-size:1.125rem;line-height:1.45}#sidebar-content li+li{margin-top:0.25rem}#sidebar-content li>button>div:nth-child(2){min-width:0}#sidebar-content li>button>div:last-child{width:1.25rem;margin-left:auto;justify-content:center}#sidebar-content li>ul{margin:0.25rem 0 0.25rem 1.25rem;padding-left:0.375rem;border-left:1px solid rgb(0 0 0 / 0.1)}.dark #sidebar-content li>ul{border-left-color:rgb(255 255 255 / 0.1)}#sidebar-content li>ul>li>:is(a,button){padding-left:0.75rem!important;font-size:1.0625rem}#sidebar-content .sidebar-group-header{margin-bottom:0.625rem;font-size:0.875rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:color-mix(in srgb, rgb(var(--fa-accent)) 72%, black)}.dark #sidebar-content .sidebar-group-header{color:rgb(var(--fa-accent))}#sidebar-content div:has(>.sidebar-group-header)+div:has(>.sidebar-group-header){margin-top:2.25rem}#sidebar-content a svg,#sidebar-content a img,#sidebar-content li>button>div:first-child svg,#sidebar-content li>button>div:first-child img{width:1.375rem;height:1.375rem}#sidebar-content .sidebar-group-header svg{width:1rem;height:1rem}.nav-tabs-item{gap:0.625rem;font-size:1.0625rem}.nav-tabs-item svg,.nav-tabs-item img{width:1.3125rem;height:1.3125rem}.nav-tabs-item[href^=\"/typescript\"] svg{background-color:#d4b106}.dark .nav-tabs-item[href^=\"/typescript\"] svg{background-color:#f7df1e}.nav-tabs-item[href^=\"/laravel\"] svg{background-color:#ff2d20}.nav-tabs-item[href^=\"/adonisjs\"] svg{background-color:#5a45ff}.dark .nav-tabs-item[href^=\"/adonisjs\"] svg{background-color:#8b7dff}li[data-group-tag]>button svg[style*=\"/brands/js.svg\"]{background-color:#d4b106}.dark li[data-group-tag]>button svg[style*=\"/brands/js.svg\"]{background-color:#f7df1e}li[data-group-tag]>button svg[style*=\"/brands/laravel.svg\"]{background-color:#ff2d20}#sidebar-content img[src$=\"/n8n.png\"]{transform:scale(1.35)}@media (min-width: 1024px){:root{--mintlify-slot-header-height: 6rem;--sidebar-width: 26rem}#navbar{height:6rem}#sidebar-content{top:6rem}#navbar div:has(img.nav-logo){height:100%}img.nav-logo{height:3.5rem;margin-left:0.5rem}div:has(>#search-bar-entry){position:fixed;top:1.5rem;right:7rem;z-index:40;width:clamp(11rem, calc(100vw - var(--sidebar-width) - 45rem), 24rem)}#search-bar-entry{height:3rem;padding-left:1.125rem;border-radius:0.875rem;font-size:1.0625rem}#search-bar-entry svg{width:1.125rem;height:1.125rem}}[data-switch=\"pill\"]{width:auto!important;height:auto!important;padding:0.3125rem;gap:0.25rem}.switch-option{width:2.125rem!important;height:2.125rem!important}.switch-option svg{width:1.125rem;height:1.125rem}.mdx-content .accordion-group{display:grid;gap:0.75rem;overflow:visible;border:0;border-color:transparent;border-radius:0;background:none}.mdx-content details.accordion{margin:0 0 0.75rem;border-color:transparent;border-radius:1rem!important;outline:1px solid rgb(var(--fa-ink) / 0.1);outline-offset:-1px;overflow:hidden;transition:outline-color 150ms ease,\n box-shadow 150ms ease}.mdx-content .accordion-group>details.accordion{margin:0}.mdx-content details.accordion:hover{outline-color:rgb(var(--fa-accent) / 0.35)}.mdx-content details.accordion[open]{outline-color:rgb(var(--fa-accent) / 0.45);box-shadow:inset 3px 0 0 rgb(var(--fa-accent))}.mdx-content [data-component-part=\"accordion-button\"]{gap:1rem;padding:1rem 1.25rem 1rem 1.5rem;border-radius:0!important;transition:background-color 150ms ease}.mdx-content [data-component-part=\"accordion-button\"]:hover{background:rgb(var(--fa-accent) / 0.05)}.mdx-content [data-component-part=\"accordion-button\"]:focus-visible{outline:2px solid rgb(var(--fa-accent));outline-offset:-2px}.mdx-content [data-component-part=\"accordion-caret-right\"]{order:3;width:2rem;height:2rem;border-radius:999px;background:rgb(var(--fa-ink) / 0.06);transition:background-color 150ms ease}.mdx-content [data-component-part=\"accordion-caret-right\"] svg{width:0.875rem;height:0.875rem}.mdx-content details.accordion[open] [data-component-part=\"accordion-caret-right\"]{background:rgb(var(--fa-accent) / 0.15)}.mdx-content details.accordion[open] [data-component-part=\"accordion-caret-right\"] svg{color:rgb(var(--fa-accent))}.mdx-content [data-component-part=\"accordion-icon\"]{display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem}.mdx-content [data-component-part=\"accordion-icon\"] svg{width:1.25rem;height:1.25rem;background-color:rgb(var(--fa-accent))!important}.mdx-content [data-component-part=\"accordion-title\"]{font-size:1.1875rem}.mdx-content [data-component-part=\"accordion-content\"]{max-width:none;padding:1.5rem 2rem 1.75rem 1.5rem;border-top:1px solid rgb(var(--fa-ink) / 0.08);font-size:1.125rem;line-height:1.95}@media (min-width: 768px){.mdx-content details.accordion:has(>summary [data-component-part=\"accordion-icon\"])>[data-component-part=\"accordion-content\"]{padding-left:3.75rem}}.mdx-content [data-component-part=\"accordion-content\"]>[data-as=\"p\"],.mdx-content [data-component-part=\"accordion-content\"]>p{display:block;max-width:46rem;margin:0 0 1.25rem}.mdx-content [data-component-part=\"accordion-content\"]>:last-child{margin-bottom:0}@media (prefers-reduced-motion: reduce){.mdx-content details.accordion,.mdx-content [data-component-part=\"accordion-button\"],.mdx-content [data-component-part=\"accordion-caret-right\"]{transition:none}}[data-badge=\"true\"]{--fa-badge: 100 116 139;padding:0.125rem 0.5rem;border-radius:0.5rem;background:rgb(var(--fa-badge) / 0.14)!important;box-shadow:inset 0 0 0 1px rgb(var(--fa-badge) / 0.32);color:rgb(var(--fa-badge))!important;font-variant-numeric:tabular-nums}[data-badge=\"true\"][data-color=\"red\"]{--fa-badge: 239 68 68}[data-badge=\"true\"][data-color=\"orange\"]{--fa-badge: 245 130 32}[data-badge=\"true\"][data-color=\"yellow\"]{--fa-badge: 214 160 20}[data-badge=\"true\"][data-color=\"green\"]{--fa-badge: 22 163 74}[data-badge=\"true\"][data-color=\"blue\"]{--fa-badge: 17 145 240}.dark [data-badge=\"true\"][data-color=\"red\"]{--fa-badge: 248 113 113}.dark [data-badge=\"true\"][data-color=\"orange\"]{--fa-badge: 251 158 75}.dark [data-badge=\"true\"][data-color=\"yellow\"]{--fa-badge: 250 204 21}.dark [data-badge=\"true\"][data-color=\"green\"]{--fa-badge: 74 222 128}.dark [data-badge=\"true\"][data-color=\"blue\"]{--fa-badge: 62 165 245}.dark [data-badge=\"true\"][data-color=\"gray\"]{--fa-badge: 161 161 170}.mdx-content td [data-badge=\"true\"]+[data-badge=\"true\"]{margin-left:0.375rem}.mdx-content :is([data-as=\"p\"],p,li,td,blockquote),#header .prose,#page-title+*{color:rgb(38 43 52)}.dark .mdx-content :is([data-as=\"p\"],p,li,td,blockquote),.dark #header .prose,.dark #page-title+*{color:rgb(222 226 232)}.mdx-content :is(th,strong){font-weight:600}#sidebar-content a,#sidebar-content li>button{color:rgb(70 76 88)}.dark #sidebar-content a,.dark #sidebar-content li>button{color:rgb(196 201 210)}.toc-item a{color:inherit}.mdx-content [data-component-part=\"callout-content\"]{font-size:1.125rem;line-height:1.75}.mdx-content [data-component-part=\"callout-icon\"]{width:1.25rem;margin-top:0.25rem}.mdx-content [data-component-part=\"step-title\"]{font-size:1.25rem}.mdx-content [data-component-part=\"step-content\"],.mdx-content [data-component-part=\"tab-content\"]{font-size:1.125rem;line-height:1.85}.mdx-content [data-component-part=\"step-number\"]{margin-left:calc(0.5px - 1.125rem)}.mdx-content [data-component-part=\"step-indicator\"]{width:2.25rem;height:2.25rem;background-color:transparent;color:rgb(var(--fa-accent));font-size:1.25rem;font-weight:600}.mdx-content [data-component-part=\"step-indicator\"] svg{width:1.5rem;height:1.5rem;background-color:rgb(var(--fa-accent))!important}.mdx-content [data-component-part=\"tab-button\"]{font-size:1rem}.mdx-content [data-component-part=\"code-block-header\"],.mdx-content [data-component-part=\"code-block-header-filename\"]{font-size:0.875rem}.mdx-content [data-component-part=\"code-group-tab-bar\"]{font-size:0.9375rem}.mdx-content [data-component-part=\"field-name\"]{font-size:1.0625rem}.mdx-content [data-component-part=\"field-meta\"],.mdx-content [data-component-part=\"field-info-pill\"],.mdx-content [data-component-part=\"field-required-pill\"]{font-size:0.875rem}.mdx-content [data-component-part=\"expandable-button\"]{font-size:1rem}[data-component-part=\"pagination-title\"]{font-size:1.125rem}[data-component-part=\"pagination-label\"]{font-size:0.9375rem}.mdx-content>.multi-view-item{max-width:none;font-size:inherit;line-height:inherit}.multi-view-item>[data-as=\"p\"],.multi-view-item>p{margin-top:0;margin-bottom:1.75rem}.multi-view-item>h2{margin-top:3.5rem;margin-bottom:1.25rem;padding-top:2rem;border-top:1px solid rgb(0 0 0 / 0.08);font-size:1.875rem;letter-spacing:-0.01em}.dark .multi-view-item>h2{border-top-color:rgb(255 255 255 / 0.08)}.multi-view-item>h2:first-child{margin-top:0;padding-top:0;border-top:0}.multi-view-item>h3{margin-top:2.75rem;margin-bottom:1.125rem;font-size:1.4375rem}.multi-view-item>ul,.multi-view-item>ol{margin-bottom:1.75rem}.multi-view-item>.code-block,.multi-view-item>.code-group{margin-top:1.5rem;margin-bottom:2rem}#content-container .prose.prose-sm{font-size:1.0625rem;line-height:1.8}#sidebar-content .method-nav-pill{width:2.75rem}#sidebar-content .method-nav-pill>*{padding:0.125rem 0.375rem;font-size:0.6875rem;line-height:1.25rem}#fa-reader-values{margin-top:1.75rem;padding:1.5rem;border:1px solid rgb(var(--fa-ink) / 0.14);border-radius:1rem;background:transparent;font-size:1.0625rem;line-height:1.6;transition:border-color 150ms ease;container:fa-reader / inline-size}#fa-reader-values:hover,#fa-reader-values:focus-within{border-color:rgb(var(--fa-accent) / 0.45)}#fa-reader-values .fa-reader-line{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem 1.25rem}#fa-reader-values .fa-reader-toggle{grid-column:1 / -1;justify-self:start}@container fa-reader (min-width: 30rem){#fa-reader-values .fa-reader-line{grid-template-columns:auto 1fr auto}#fa-reader-values .fa-reader-line .fa-reader-toggle{grid-column:auto}}#fa-reader-values .fa-reader-icon{width:4rem;height:4rem;background:url('/logo/attract-glyph-color-a-green-on-light-scalable.svg') center / contain\n no-repeat}.dark #fa-reader-values .fa-reader-icon{background-image:url('/logo/attract-glyph-color-a-green-on-dark-scalable.svg')}#fa-reader-values .fa-reader-copy{min-width:0}#fa-reader-values .fa-reader-copy p{margin:0}#fa-reader-values .fa-reader-title{font-size:1.125rem;font-weight:600;color:rgb(var(--fa-ink))}#fa-reader-values .fa-reader-values{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0.625rem 0.875rem;margin:0.75rem 0 0}#fa-reader-values .fa-reader-values>div{display:contents}#fa-reader-values .fa-reader-values dt{font-weight:500;color:rgb(var(--fa-ink))}#fa-reader-values .fa-reader-values dd{justify-self:start;min-width:0;margin:0}#fa-reader-values code{display:inline-block;padding:0.375rem 0.875rem;border:1px solid rgb(var(--fa-accent) / 0.4);border-radius:0.5rem;background:rgb(var(--fa-ink) / 0.03);color:rgb(var(--fa-ink));font-size:0.95em;font-weight:700;line-height:1.4;overflow-wrap:anywhere}#fa-reader-values button{padding:0.625rem 1.25rem;border:1px solid rgb(var(--fa-ink) / 0.16);border-radius:0.625rem;background:rgb(var(--fa-ink) / 0.03);color:rgb(var(--fa-ink));font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color 150ms ease,\n border-color 150ms ease}#fa-reader-values button:hover{border-color:rgb(var(--fa-accent) / 0.55);background:rgb(var(--fa-accent) / 0.08)}#fa-reader-values button:focus-visible,#fa-reader-values input:focus-visible{outline:2px solid rgb(var(--fa-accent));outline-offset:2px}#fa-reader-values .fa-reader-form{display:grid;grid-template-columns:1fr;gap:1.75rem 1.5rem;margin-top:1.5rem;padding:1.5rem 0.25rem 0.25rem;border-top:1px solid rgb(var(--fa-ink) / 0.1)}@media (min-width: 768px){#fa-reader-values .fa-reader-form{grid-template-columns:1fr 1fr}}#fa-reader-values .fa-reader-form[hidden]{display:none}#fa-reader-values label{display:grid;gap:0.625rem;align-content:start}#fa-reader-values label>span{font-weight:600;color:rgb(var(--fa-ink))}#fa-reader-values label em{font-style:normal;font-weight:400}#fa-reader-values input{width:100%;padding:0.75rem 1rem;border:1px solid rgb(128 128 128 / 0.4);border-radius:0.5rem;background:rgb(128 128 128 / 0.08);color:rgb(var(--fa-ink));font:inherit}#fa-reader-values small{display:block;margin-top:0.5rem;font-size:0.9375rem;line-height:1.6;color:rgb(var(--fa-ink))}#fa-reader-values .fa-reader-error{grid-column:1 / -1;margin:0;color:#dc2626}.dark #fa-reader-values .fa-reader-error{color:#f87171}#fa-reader-values .fa-reader-error:empty{display:none}#fa-reader-values .fa-reader-actions{display:flex;flex-wrap:wrap;grid-column:1 / -1;align-items:center;gap:1rem;padding-top:0.25rem}.mdx-content .n8n-canvas{--n8n-dot: rgb(0 0 0 / 0.12);--n8n-node-bg: #ffffff;--n8n-node-border: rgb(0 0 0 / 0.18);--n8n-line: #94a3b8;margin:1.75rem 0 2.25rem;padding:2rem 0.75rem 1.5rem;overflow-x:auto;border:1px solid rgb(0 0 0 / 0.08);border-radius:1rem;background-color:rgb(0 0 0 / 0.015);background-image:radial-gradient(var(--n8n-dot) 1px, transparent 1px);background-size:18px 18px}.dark .mdx-content .n8n-canvas{--n8n-dot: rgb(255 255 255 / 0.1);--n8n-node-bg: #1b1f24;--n8n-node-border: rgb(255 255 255 / 0.22);--n8n-line: #64748b;border-color:rgb(255 255 255 / 0.08);background-color:rgb(255 255 255 / 0.02)}.mdx-content .n8n-canvas-row{display:flex;align-items:flex-start;justify-content:center;min-width:max-content;margin:0 auto}.mdx-content .n8n-node{display:flex;flex-direction:column;align-items:center;width:7.25rem;text-align:center}.mdx-content .n8n-node-box{display:flex;align-items:center;justify-content:center;width:4.5rem;height:4.5rem;border:2px solid var(--n8n-node-border);border-radius:0.75rem;background:var(--n8n-node-bg);box-shadow:0 1px 3px rgb(0 0 0 / 0.08)}.mdx-content .n8n-node-trigger .n8n-node-box{border-radius:2.25rem 0.75rem 0.75rem 2.25rem}.mdx-content .n8n-node-accent .n8n-node-box{border-color:rgb(var(--fa-accent));box-shadow:0 0 0 4px rgb(var(--fa-accent) / 0.15)}.mdx-content .n8n-node-title{margin-top:0.6rem;font-size:0.95rem;font-weight:600;line-height:1.3}.mdx-content .n8n-node-note{margin-top:0.2rem;font-size:0.8rem;line-height:1.35;opacity:0.7}.mdx-content .n8n-node-box svg{width:1.9rem!important;height:1.9rem!important}.mdx-content .n8n-link{display:flex;flex-direction:column;align-items:center;width:4rem;margin:0 -1.125rem;padding-top:1.1rem}.mdx-content .n8n-link-items{height:1.1rem;font-size:0.75rem;font-weight:600;line-height:1.1rem;white-space:nowrap;color:rgb(var(--fa-accent))}.mdx-content .n8n-link-line{position:relative;width:100%;height:2px;margin-top:0.4rem;background:var(--n8n-line)}.mdx-content .n8n-link-line::after{position:absolute;top:-4px;right:-1px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:7px solid var(--n8n-line);content:''}.mdx-content .n8n-canvas figcaption{margin-top:1.25rem;font-size:0.85rem;text-align:center;opacity:0.7}.mdx-content .n8n-signed{margin:1.5rem 0 2rem;padding:1.5rem 1.25rem 1.25rem;overflow-x:auto;border:1px solid rgb(0 0 0 / 0.08);border-radius:1rem}.dark .mdx-content .n8n-signed{border-color:rgb(255 255 255 / 0.08)}.mdx-content .n8n-signed-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;row-gap:1rem}.mdx-content .n8n-signed-part{display:flex;flex-direction:column;align-items:center;gap:0.5rem}.mdx-content .n8n-signed-value,.mdx-content .n8n-signed-dot{padding:0.35rem 0.55rem;border-radius:0.4rem;font-size:0.95rem;white-space:nowrap}.mdx-content .n8n-signed-dot{padding:0.35rem 0.15rem;background:none;font-weight:700}.mdx-content .n8n-signed-value{min-width:2.5rem;text-align:center;background:rgb(var(--n8n-part) / 0.14);box-shadow:inset 0 0 0 1px rgb(var(--n8n-part) / 0.45)}.mdx-content .n8n-signed-label{font-size:0.75rem;font-weight:600;letter-spacing:0.04em;text-transform:uppercase;color:rgb(var(--n8n-part))}.mdx-content .n8n-signed-0{--n8n-part: 37 99 235}.mdx-content .n8n-signed-1{--n8n-part: 22 163 74}.mdx-content .n8n-signed-2{--n8n-part: 217 119 6}.mdx-content .n8n-signed-3{--n8n-part: 219 39 119}.mdx-content .n8n-coming-soon-logos{display:flex;align-items:center;gap:1rem;margin-bottom:1.25rem}.mdx-content .n8n-coming-soon-logos img{width:auto;height:3.5rem;margin:0}.mdx-content .n8n-coming-soon-logos img[class^=\"n8n-mark-\"]{height:4.5rem;margin:-0.5rem}.mdx-content .n8n-coming-soon-logos .n8n-mark-dark,.dark .mdx-content .n8n-coming-soon-logos .n8n-mark-light{display:none}.dark .mdx-content .n8n-coming-soon-logos .n8n-mark-dark{display:block}.mdx-content .n8n-coming-soon-logos span{font-size:1.75rem;font-weight:600;opacity:0.6}.mdx-content .n8n-coming-soon-title{margin:0 0 0.35rem;font-size:1.25rem;font-weight:600;color:rgb(var(--fa-ink))}.mdx-content .n8n-coming-soon-title+*{margin-top:0}"}],"page":{"pagePath":"adonisjs/reference/blog-posts/publish-blog","slug":"/adonisjs/reference/blog-posts/publish-blog","pageMetadata":{"title":"Publish a blog post","sidebarTitle":"Publish","description":"Publishes the draft: its content becomes the published document.","icon":"paper-plane","href":"/adonisjs/reference/blog-posts/publish-blog"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Publishes the draft: its content becomes the published document.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CodeBlock,Columns,Expandable,Heading,ParamField,ResponseField,Step,Steps}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Columns)_missingMdxReference(`Columns`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`in-your-app`,children:`In your app`}),`\n`,_jsxs(_components.p,{children:[`A controller answers a route on your app: it calls `,_jsx(_components.code,{children:`publishBlog()`}),` and returns the answer.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Add the controller`,icon:`file-code`,children:_jsx(CodeBlock,{filename:`app/controllers/publish_blog_controller.ts`,numberOfLines:`12`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`inject`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@adonisjs/core'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` type`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`HttpContext`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@adonisjs/core/http'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`SiteClient`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@fetchski/attract-cms-sdk'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`@`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`inject`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`export`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` default`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` class`}),_jsx(_components.span,{style:{color:`#4EC9B0`,\"--shiki-dark\":`#4EC9B0`},children:` PublishBlogController`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` constructor`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`protected`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#4EC9B0`,\"--shiki-dark\":`#4EC9B0`},children:`SiteClient`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`) {}`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` async`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:` handle`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`params`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }: `}),_jsx(_components.span,{style:{color:`#4EC9B0`,\"--shiki-dark\":`#4EC9B0`},children:`HttpContext`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` this`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`blogPosts`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`publishBlog`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`id:`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` params`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` })`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),_jsxs(Step,{title:`Add the route`,icon:`route`,children:[_jsx(CodeBlock,{filename:`start/routes.ts`,numberOfLines:`5`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` router`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@adonisjs/core/services/router'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:` PublishBlogController`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = () `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'#controllers/publish_blog_controller'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`router`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`post`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'/blog/:id/publish'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, [`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`PublishBlogController`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`])`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`Put it behind your auth middleware (`,_jsx(_components.code,{children:`.use(middleware.auth())`}),`): it acts with your key’s access.`]})]}),_jsx(Step,{title:`Call it`,icon:`play`,children:_jsxs(_components.p,{children:[`Your own page’s form or script sends `,_jsx(_components.code,{children:`POST /blog/clx8m2k4p0000a1b2c3d4e5f6/publish`}),` and gets back its answer as JSON. Test it, below, calls it.`]})})]}),`\n`,_jsx(_components.p,{children:`Answers the draft.`}),`\n`,_jsx(Heading,{level:`2`,id:`find-the-id`,children:`Find the id`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`id`}),` is the document’s `,_jsx(_components.code,{children:`_id`}),`, from a list. Ask the list for only the fields you need: each row is a document’s `,_jsx(_components.code,{children:`id`}),` and those fields.`]}),`\n`,_jsx(CodeBlock,{filename:`AdonisJS`,wrap:`true`,numberOfLines:`5`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` app`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@adonisjs/core/services/app'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`SiteClient`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@fetchski/attract-cms-sdk'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` app`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`container`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`SiteClient`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` row`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = (`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`blogPosts`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`listBlogsPick`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`([`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'title'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'slug'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`])).`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`find`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`((`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`each`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` each`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`slug`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` === `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'getting-started'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#6A9955`,\"--shiki-dark\":`#6A9955`},children:`// { id, title, slug }, or undefined`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Pass `,_jsx(_components.code,{children:`row.id`}),` as `,_jsx(_components.code,{children:`id`}),`. Drafts: list with `,_jsx(_components.code,{children:`{ aposMode: 'draft' }`}),` to get the draft’s id (`,_jsx(_components.a,{href:`/find-an-id`,children:`Find an id`}),`).`]}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Required parameters`,icon:`asterisk`,defaultOpen:true,id:`required-parameters`,children:[_jsxs(_components.p,{children:[`One object, e.g. `,_jsx(_components.code,{children:`publishBlog({ id })`}),`; leave out the optional fields.`]}),_jsx(ParamField,{path:`id`,type:`string`,required:true,id:`param-id`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Required.`}),` The document’s `,_jsx(_components.code,{children:`_id`}),`: a full id names its own locale and mode (the draft’s `,_jsx(_components.code,{children:`…:en:draft`}),`, the published one’s `,_jsx(_components.code,{children:`…:en:published`}),`; no `,_jsx(_components.code,{children:`aposMode`}),` needed), a bare `,_jsx(_components.code,{children:`aposDocId`}),` takes the request’s (`,_jsx(_components.code,{children:`aposLocale`}),`, `,_jsx(_components.code,{children:`aposMode`}),`).`]})})]}),_jsxs(Accordion,{title:`Returns`,icon:`reply`,id:`returns`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`Blog`}),`. Blog content type. Read its properties (`,_jsx(_components.code,{children:`blog.title`}),`): each says whether the site always sends it. The example answer is the site’s wire JSON: some keys differ from the property names (`,_jsx(_components.code,{children:`_id`}),` → `,_jsx(_components.code,{children:`id`}),`, `,_jsx(_components.code,{children:`_author`}),` → `,_jsx(_components.code,{children:`author`}),`, `,_jsx(_components.code,{children:`_category`}),` → `,_jsx(_components.code,{children:`category`}),` …).`]}),_jsx(ResponseField,{name:`title`,type:`string`,id:`param-title`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Its title: the name it goes by in every list, and the heading of its page where it has one.`]})}),_jsx(ResponseField,{name:`publishedAt`,type:`Date`,id:`param-published-at`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The post’s publication date (`,_jsx(_components.code,{children:`YYYY-MM-DD`}),`, e.g. `,_jsx(_components.code,{children:`2026-10-21`}),`): the date it shows, and its place in the blog list, newest first. Format: an ISO 8601 date (`,_jsx(_components.code,{children:`YYYY-MM-DD`}),`).`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The document’s id. On a type with drafts it ends in its locale and mode (`,_jsx(_components.code,{children:`…:en:published`}),`, `,_jsx(_components.code,{children:`…:en:draft`}),`): the part before the first colon is its `,_jsx(_components.code,{children:`aposDocId`}),`, shared by both copies. The `,_jsx(_components.code,{children:`{_id}`}),` the type’s routes take.`]})}),_jsx(ResponseField,{name:`type`,type:`string`,id:`param-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The document type’s name: always this type’s.`]})}),_jsx(ResponseField,{name:`author`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[] | null`,id:`param-author`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Credited author. Pick from the Authors collection — their profile photo shows alongside the post. The related `,_jsx(_components.code,{children:`author`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`category`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[] | null`,id:`param-category`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The post’s category. Manage the list (and each badge color) under Blog Categories. The related `,_jsx(_components.code,{children:`blog-category`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`slug`,type:`string | null`,id:`param-slug`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The URL name: lowercase words joined by hyphens (letters outside a–z, even emoji, are kept).`]})}),_jsx(ResponseField,{name:`visibility`,type:`Visibility | null`,id:`param-visibility`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Select whether this content is public or private. One of `,_jsx(_components.code,{children:`public`}),`, `,_jsx(_components.code,{children:`loginRequired`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`scheduledPublish`,type:`string | null`,id:`param-scheduled-publish`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. An ISO 8601 date and time, e.g. `,_jsx(_components.code,{children:`2026-10-21T14:30:00.000Z`}),`.`]})}),_jsx(ResponseField,{name:`scheduledUnpublish`,type:`string | null`,id:`param-scheduled-unpublish`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. An ISO 8601 date and time, e.g. `,_jsx(_components.code,{children:`2026-10-21T14:30:00.000Z`}),`.`]})}),_jsx(ResponseField,{name:`excerpt`,type:`string | null`,id:`param-excerpt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Short teaser shown on the blog index and homepage. 1–2 sentences.`]})}),_jsxs(ResponseField,{name:`featuredImage`,type:`ImageArea`,id:`param-featured-image`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. An `,_jsx(_components.code,{children:`ImageArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area.`]}),_jsxs(Expandable,{title:`ImageArea`,children:[_jsx(ResponseField,{name:`metaType`,type:`AfterContentAreaMetaType`,id:`param-meta-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`area`}),`. One of `,_jsx(_components.code,{children:`area`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The area’s id, set by the site: leave it out when you write one.`]})}),_jsxs(ResponseField,{name:`items`,type:`readonly ImageWidget[]`,id:`param-items`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`ImageWidget`}),`. The widgets, top to bottom. Each is an object with its `,_jsx(_components.code,{children:`type`}),` and that widget’s own fields; `,_jsx(_components.code,{children:`_id`}),` and `,_jsx(_components.code,{children:`metaType`}),` may be left out (the site sets them). At most 1 items.`]}),_jsxs(Expandable,{title:`ImageWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/image`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`ImageWidgetType`,id:`param-type-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/image`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/image`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`image`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`caption`,type:`string`,id:`param-caption`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Caption.`]})}),_jsx(ResponseField,{name:`linkTo`,type:`LinkTo | null`,id:`param-link-to`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Link To… One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`@apostrophecms/any-page-type`}),`, `,_jsx(_components.code,{children:`_url`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`apostrophecmsAnyPageType`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-apostrophecms-any-page-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The related `,_jsx(_components.code,{children:`@apostrophecms/any-page-type`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`linkHref`,type:`string | null`,id:`param-link-href`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. apostrophe:linkHrefHelp When set, a URL; empty or null when not.`]})}),_jsx(ResponseField,{name:`linkHrefTitle`,type:`string`,id:`param-link-href-title`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Link Title.`]})}),_jsx(ResponseField,{name:`linkTitle`,type:`string`,id:`param-link-title`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. If empty, the title of the related document will be used.`]})}),_jsx(ResponseField,{name:`linkTarget`,type:`readonly LinkTarget[] | null`,id:`param-link-target`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Link Target. Each one of `,_jsx(_components.code,{children:`_blank`}),`.`]})}),_jsxs(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot.`]}),_jsxs(Expandable,{title:`CustomCSS`,children:[_jsx(ResponseField,{name:`slots`,type:`Readonly\u003cRecord\u003cstring, string>>`,id:`param-slots`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The CSS typed into each part slot, by slot name.`]})}),_jsx(ResponseField,{name:`css`,type:`string`,id:`param-css`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The compiled CSS (read only: rebuilt from `,_jsx(_components.code,{children:`slots`}),`).`]})}),_jsx(ResponseField,{name:`mark`,type:`string`,id:`param-mark`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The site’s check mark for `,_jsx(_components.code,{children:`css`}),` (read only).`]})})]})]}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsxs(ResponseField,{name:`main`,type:`BlogMainArea`,id:`param-main`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A `,_jsx(_components.code,{children:`BlogMainArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area. A new document starts with `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`.`]}),_jsxs(Expandable,{title:`BlogMainArea`,children:[_jsx(ResponseField,{name:`metaType`,type:`AfterContentAreaMetaType`,id:`param-meta-type-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`area`}),`. One of `,_jsx(_components.code,{children:`area`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The area’s id, set by the site: leave it out when you write one.`]})}),_jsxs(ResponseField,{name:`items`,type:`readonly BlogMainAreaItem[]`,id:`param-items-1`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`BlogMainAreaItem`}),`. The widgets, top to bottom. Each is an object with its `,_jsx(_components.code,{children:`type`}),` and that widget’s own fields; `,_jsx(_components.code,{children:`_id`}),` and `,_jsx(_components.code,{children:`metaType`}),` may be left out (the site sets them).`]}),_jsxs(Expandable,{title:`BlogMainAreaItem`,children:[_jsxs(_components.p,{children:[`A widget in an area that takes `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`, `,_jsx(_components.code,{children:`@apostrophecms/image`}),`, `,_jsx(_components.code,{children:`@apostrophecms/video`}),`, `,_jsx(_components.code,{children:`@apostrophecms/layout`}),`, `,_jsx(_components.code,{children:`intro`}),`, `,_jsx(_components.code,{children:`feature`}),`, `,_jsx(_components.code,{children:`stats`}),`, `,_jsx(_components.code,{children:`steps`}),`, `,_jsx(_components.code,{children:`pricing`}),`, `,_jsx(_components.code,{children:`media-text`}),`, `,_jsx(_components.code,{children:`device-mock`}),`, `,_jsx(_components.code,{children:`faq`}),`: the one its `,_jsx(_components.code,{children:`type`}),` names.`]}),_jsxs(Expandable,{title:`RichTextWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`RichTextWidgetType`,id:`param-type-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`content`,type:`string`,id:`param-content`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The text as HTML, e.g. `,_jsx(_components.code,{children:`\u003ch2>Our story\u003c/h2>\u003cp>It began with \u003cstrong>one\u003c/strong> idea.\u003c/p>`}),`. The site keeps the tags and styles this area’s editor offers (paragraphs, headings, bold, italic, links, lists…) and removes the rest.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`ImageWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/image`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`ImageWidgetType`,id:`param-type-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/image`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/image`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`image`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-image-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`caption`,type:`string`,id:`param-caption-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Caption.`]})}),_jsx(ResponseField,{name:`linkTo`,type:`LinkTo | null`,id:`param-link-to-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Link To… One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`@apostrophecms/any-page-type`}),`, `,_jsx(_components.code,{children:`_url`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`apostrophecmsAnyPageType`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-apostrophecms-any-page-type-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The related `,_jsx(_components.code,{children:`@apostrophecms/any-page-type`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`linkHref`,type:`string | null`,id:`param-link-href-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. apostrophe:linkHrefHelp When set, a URL; empty or null when not.`]})}),_jsx(ResponseField,{name:`linkHrefTitle`,type:`string`,id:`param-link-href-title-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Link Title.`]})}),_jsx(ResponseField,{name:`linkTitle`,type:`string`,id:`param-link-title-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. If empty, the title of the related document will be used.`]})}),_jsx(ResponseField,{name:`linkTarget`,type:`readonly LinkTarget[] | null`,id:`param-link-target-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Link Target. Each one of `,_jsx(_components.code,{children:`_blank`}),`.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`VideoWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/video`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`VideoWidgetType`,id:`param-type-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/video`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`video`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-video`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Enter the URL for a media source you wish to embed (e.g., YouTube, Vimeo, or other hosted video URL).`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`LayoutWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/layout`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`LayoutWidgetType`,id:`param-type-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/layout`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/layout`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsxs(ResponseField,{name:`columns`,type:`LayoutColumnArea`,id:`param-columns`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A `,_jsx(_components.code,{children:`LayoutColumnArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area.`]}),_jsxs(Expandable,{title:`LayoutColumnArea`,children:[_jsx(ResponseField,{name:`metaType`,type:`AfterContentAreaMetaType`,id:`param-meta-type-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`area`}),`. One of `,_jsx(_components.code,{children:`area`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The area’s id, set by the site: leave it out when you write one.`]})}),_jsxs(ResponseField,{name:`items`,type:`readonly LayoutColumnWidget[]`,id:`param-items-2`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`LayoutColumnWidget`}),`. The widgets, top to bottom. Each is an object with its `,_jsx(_components.code,{children:`type`}),` and that widget’s own fields; `,_jsx(_components.code,{children:`_id`}),` and `,_jsx(_components.code,{children:`metaType`}),` may be left out (the site sets them).`]}),_jsxs(Expandable,{title:`LayoutColumnWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/layout-column`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`LayoutColumnWidgetType`,id:`param-type-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/layout-column`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/layout-column`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`colstart`,type:`number | null`,id:`param-colstart`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colstart.`]})}),_jsx(ResponseField,{name:`colspan`,type:`number | null`,id:`param-colspan`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colspan.`]})}),_jsx(ResponseField,{name:`rowstart`,type:`number | null`,id:`param-rowstart`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Rowstart.`]})}),_jsx(ResponseField,{name:`rowspan`,type:`number | null`,id:`param-rowspan`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Rowspan.`]})}),_jsx(ResponseField,{name:`order`,type:`number | null`,id:`param-order`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Order.`]})}),_jsxs(ResponseField,{name:`content`,type:`LayoutColumnContentArea`,id:`param-content-1`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A `,_jsx(_components.code,{children:`LayoutColumnContentArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area.`]}),_jsxs(Expandable,{title:`LayoutColumnContentArea`,children:[_jsx(ResponseField,{name:`metaType`,type:`AfterContentAreaMetaType`,id:`param-meta-type-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`area`}),`. One of `,_jsx(_components.code,{children:`area`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The area’s id, set by the site: leave it out when you write one.`]})}),_jsx(ResponseField,{name:`items`,type:`readonly LayoutColumnContentAreaItem[]`,id:`param-items-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`LayoutColumnContentAreaItem`}),`. The widgets, top to bottom. Each is an object with its `,_jsx(_components.code,{children:`type`}),` and that widget’s own fields; `,_jsx(_components.code,{children:`_id`}),` and `,_jsx(_components.code,{children:`metaType`}),` may be left out (the site sets them). Its fields are listed under the first `,_jsx(_components.code,{children:`LayoutColumnContentAreaItem`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`showTablet`,type:`boolean`,id:`param-show-tablet`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Visible on tablet.`]})}),_jsx(ResponseField,{name:`showMobile`,type:`boolean`,id:`param-show-mobile`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Visible on mobile.`]})}),_jsx(ResponseField,{name:`justify`,type:`Justify | null`,id:`param-justify`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal alignment. One of `,_jsx(_components.code,{children:`stretch`}),`, `,_jsx(_components.code,{children:`start`}),`, `,_jsx(_components.code,{children:`end`}),`, `,_jsx(_components.code,{children:`center`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`align`,type:`Align | null`,id:`param-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vertical alignment. One of `,_jsx(_components.code,{children:`stretch`}),`, `,_jsx(_components.code,{children:`start`}),`, `,_jsx(_components.code,{children:`end`}),`, `,_jsx(_components.code,{children:`center`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`IntroWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`intro`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`IntroWidgetType`,id:`param-type-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`intro`}),`. One of `,_jsx(_components.code,{children:`intro`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introEyebrow`,type:`string`,id:`param-intro-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`introEyebrowColor`,type:`string | null`,id:`param-intro-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`introEyebrowColorLight`,type:`string | null`,id:`param-intro-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`introEyebrowWeight`,type:`IntroEyebrowWeight | null`,id:`param-intro-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introEyebrowSize`,type:`IntroEyebrowSize | null`,id:`param-intro-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introHeadline`,type:`string`,id:`param-intro-headline`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Headline.`]})}),_jsx(ResponseField,{name:`introHeadlineColor`,type:`string | null`,id:`param-intro-headline-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the headline color. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`introHeadlineColorLight`,type:`string | null`,id:`param-intro-headline-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`introHeadlineWeight`,type:`IntroHeadlineWeight | null`,id:`param-intro-headline-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Headline weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introBody`,type:`string`,id:`param-intro-body`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Body copy.`]})}),_jsx(ResponseField,{name:`introBodyColor`,type:`string | null`,id:`param-intro-body-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the body text color. Leave empty for the muted default.`]})}),_jsx(ResponseField,{name:`introBodyColorLight`,type:`string | null`,id:`param-intro-body-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the muted default.`]})}),_jsx(ResponseField,{name:`introBodyWeight`,type:`IntroBodyWeight | null`,id:`param-intro-body-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoPlacement`,type:`IntroPhotoPlacement | null`,id:`param-intro-photo-placement`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the optional photo sits. Left/right place it beside the text; Full background fills the whole section behind the text (with a readability overlay). One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`, `,_jsx(_components.code,{children:`background`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introImage`,type:`ImageArea`,id:`param-intro-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. An `,_jsx(_components.code,{children:`ImageArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area. Its fields are listed under the first `,_jsx(_components.code,{children:`ImageArea`}),` above.`]})}),_jsx(ResponseField,{name:`introPhotoCorners`,type:`IntroPhotoCorners | null`,id:`param-intro-photo-corners`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Photo corners. One of `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`squared`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoFrame`,type:`IntroPhotoFrame | null`,id:`param-intro-photo-frame`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border draws a frame around the photo; Offset adds a refined offset accent frame behind it. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`offset`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoFrameColor`,type:`string | null`,id:`param-intro-photo-frame-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / offset-frame color. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`introPhotoTilt`,type:`IntroPhotoTilt | null`,id:`param-intro-photo-tilt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A slight rotation for a more playful look. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoHover`,type:`IntroPhotoHover | null`,id:`param-intro-photo-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Photo hover effect. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`zoom`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`lift-glow`}),`, `,_jsx(_components.code,{children:`zoom-glow`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introOverlayColor`,type:`string | null`,id:`param-intro-overlay-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Scrim behind the text over a full-background photo. Leave empty to use the dark surface color.`]})}),_jsx(ResponseField,{name:`introOverlayColorLight`,type:`string | null`,id:`param-intro-overlay-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme overlay, then the light surface color.`]})}),_jsx(ResponseField,{name:`introOverlayOpacity`,type:`number | null`,id:`param-intro-overlay-opacity`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Overlay opacity (%). 0 to 100.`]})}),_jsx(ResponseField,{name:`introBg`,type:`IntroBg | null`,id:`param-intro-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introBgCustom`,type:`string | null`,id:`param-intro-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`introBgLight`,type:`IntroBgLight | null`,id:`param-intro-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introBgLightCustom`,type:`string | null`,id:`param-intro-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`introFontOverrides`,type:`readonly IntroWidgetIntroFontOverridesItem[]`,id:`param-intro-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`IntroWidgetIntroFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`IntroWidgetIntroFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly IntroWidgetIntroFontOverridesItemUploadsItem[]`,id:`param-uploads`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`IntroWidgetIntroFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`IntroWidgetIntroFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`FeatureWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`feature`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`FeatureWidgetType`,id:`param-type-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`feature`}),`. One of `,_jsx(_components.code,{children:`feature`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureColumns`,type:`FeatureColumns | null`,id:`param-feature-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of cards. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureGap`,type:`FeatureGap | null`,id:`param-feature-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between cards. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardSize`,type:`FeatureCardSize | null`,id:`param-feature-card-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Scales padding, icon, title, and the index numeral together. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyle`,type:`FeatureCardStyle | null`,id:`param-feature-card-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The card treatment. Poster (the default) frames the card with an accent keyline; Raised is a quiet lit card; Luxe a frosted glass panel; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyleRadius`,type:`FeatureCardStyleRadius | null`,id:`param-feature-card-style-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyleAccentColor`,type:`string | null`,id:`param-feature-card-style-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`featureCardStyleAccentColorLight`,type:`string | null`,id:`param-feature-card-style-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`featureCardStyleForgeScope`,type:`FeatureCardStyleForgeScope | null`,id:`param-feature-card-style-forge-scope`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyleForgeWeight`,type:`FeatureCardStyleForgeWeight | null`,id:`param-feature-card-style-forge-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardHover`,type:`FeatureCardHover | null`,id:`param-feature-card-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How a card reacts on hover. Pop is the lift + hard offset shadow; Glow is a soft accent halo. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardHoverColor`,type:`string | null`,id:`param-feature-card-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / shadow / glow color on hover. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`featureCardHoverColorLight`,type:`string | null`,id:`param-feature-card-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`featureNumbering`,type:`boolean`,id:`param-feature-numbering`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A big outlined numeral on each card (01, 02, …). Great for step-by-step sequences; turn off when the cards aren’t ordered.`]})}),_jsx(ResponseField,{name:`featureNumberFill`,type:`FeatureNumberFill | null`,id:`param-feature-number-fill`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Same treatment as the hero ghost text: all numbers solid, outlined and filling on hover, or always outlined. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`hover`}),`, `,_jsx(_components.code,{children:`outline`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureNumberColor`,type:`string | null`,id:`param-feature-number-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Tints the numeral fill + outline. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`featureNumberColorLight`,type:`string | null`,id:`param-feature-number-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`featureTitleColor`,type:`string | null`,id:`param-feature-title-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the card title color. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`featureTitleColorLight`,type:`string | null`,id:`param-feature-title-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`featureTitleWeight`,type:`FeatureTitleWeight | null`,id:`param-feature-title-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureTextColor`,type:`string | null`,id:`param-feature-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the card text color. Leave empty for the muted default.`]})}),_jsx(ResponseField,{name:`featureTextColorLight`,type:`string | null`,id:`param-feature-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the muted default.`]})}),_jsx(ResponseField,{name:`featureTextWeight`,type:`FeatureTextWeight | null`,id:`param-feature-text-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Text weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsxs(ResponseField,{name:`featureCards`,type:`readonly FeatureWidgetFeatureCardsItem[]`,id:`param-feature-cards`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FeatureWidgetFeatureCardsItem`}),`. Feature cards.`]}),_jsxs(Expandable,{title:`FeatureWidgetFeatureCardsItem`,children:[_jsx(ResponseField,{name:`cardTitle`,type:`string`,id:`param-card-title`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Title.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`icon`,type:`string`,id:`param-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`iconFamily`,type:`IconFamily | null`,id:`param-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconColor`,type:`string | null`,id:`param-icon-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the design’s own color rhythm.`]})}),_jsx(ResponseField,{name:`iconAnimation`,type:`IconAnimation | null`,id:`param-icon-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon animation. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`fa-beat`}),`, `,_jsx(_components.code,{children:`fa-bounce`}),`, `,_jsx(_components.code,{children:`fa-fade`}),`, `,_jsx(_components.code,{children:`fa-beat-fade`}),`, `,_jsx(_components.code,{children:`fa-flip`}),`, `,_jsx(_components.code,{children:`fa-shake`}),`, `,_jsx(_components.code,{children:`fa-spin`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconSize`,type:`IconSize | null`,id:`param-icon-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Relative to the component’s base icon size. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`, `,_jsx(_components.code,{children:`2xl`}),`, `,_jsx(_components.code,{children:`2x`}),`, `,_jsx(_components.code,{children:`3x`}),`, `,_jsx(_components.code,{children:`4x`}),`, `,_jsx(_components.code,{children:`5x`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cardText`,type:`string`,id:`param-card-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Text.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`featureBg`,type:`FeatureBg | null`,id:`param-feature-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureBgCustom`,type:`string | null`,id:`param-feature-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`featureBgLight`,type:`FeatureBgLight | null`,id:`param-feature-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureBgLightCustom`,type:`string | null`,id:`param-feature-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`featureFontOverrides`,type:`readonly FeatureWidgetFeatureFontOverridesItem[]`,id:`param-feature-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FeatureWidgetFeatureFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`FeatureWidgetFeatureFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly FeatureWidgetFeatureFontOverridesItemUploadsItem[]`,id:`param-uploads-1`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FeatureWidgetFeatureFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`FeatureWidgetFeatureFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-18`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`StatsWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`stats`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`StatsWidgetType`,id:`param-type-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`stats`}),`. One of `,_jsx(_components.code,{children:`stats`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-19`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsEyebrowEnabled`,type:`boolean`,id:`param-stats-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “By the numbers”).`]})}),_jsx(ResponseField,{name:`statsEyebrow`,type:`string`,id:`param-stats-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`statsEyebrowColor`,type:`string | null`,id:`param-stats-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`statsEyebrowColorLight`,type:`string | null`,id:`param-stats-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`statsEyebrowWeight`,type:`StatsEyebrowWeight | null`,id:`param-stats-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsEyebrowSize`,type:`StatsEyebrowSize | null`,id:`param-stats-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsHeading`,type:`string`,id:`param-stats-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the numbers.`]})}),_jsx(ResponseField,{name:`statsHeadingColor`,type:`string | null`,id:`param-stats-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`statsHeadingColorLight`,type:`string | null`,id:`param-stats-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`statsHeadingWeight`,type:`StatsHeadingWeight | null`,id:`param-stats-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsColumns`,type:`StatsColumns | null`,id:`param-stats-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of stats. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsGap`,type:`StatsGap | null`,id:`param-stats-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between stats. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsSize`,type:`StatsSize | null`,id:`param-stats-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The baseline scale for the whole stat (value / icon / label / description stay proportional). Fine-tune any single element with its own size control below. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsAlign`,type:`StatsAlign | null`,id:`param-stats-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Alignment. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsDividers`,type:`boolean`,id:`param-stats-dividers`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A hairline rule between each stat — the classic “by the numbers” rail.`]})}),_jsx(ResponseField,{name:`statsCountUp`,type:`boolean`,id:`param-stats-count-up`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Numbers tick up from zero when the band scrolls into view. Non-numeric values and reduced-motion visitors simply show the final value.`]})}),_jsx(ResponseField,{name:`statsIconSize`,type:`StatsIconSize | null`,id:`param-stats-icon-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of the icon above each number, independent of the overall stat size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`, `,_jsx(_components.code,{children:`xxl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsIconGap`,type:`StatsIconGap | null`,id:`param-stats-icon-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Space between the icon and the number below it. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsValueSize`,type:`StatsValueSize | null`,id:`param-stats-value-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Value size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`xs`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsValueWeight`,type:`StatsValueWeight | null`,id:`param-stats-value-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Value weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsValueColor`,type:`string | null`,id:`param-stats-value-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The big numeral. Optional — leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`statsValueColorLight`,type:`string | null`,id:`param-stats-value-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`statsLabelSize`,type:`StatsLabelSize | null`,id:`param-stats-label-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Label size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`xs`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsLabelWeight`,type:`StatsLabelWeight | null`,id:`param-stats-label-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Label weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsLabelColor`,type:`string | null`,id:`param-stats-label-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`statsLabelColorLight`,type:`string | null`,id:`param-stats-label-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`statsDescriptionSize`,type:`StatsDescriptionSize | null`,id:`param-stats-description-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Description size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`xs`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsDescriptionWeight`,type:`StatsDescriptionWeight | null`,id:`param-stats-description-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Description weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsDescriptionColor`,type:`string | null`,id:`param-stats-description-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`statsDescriptionColorLight`,type:`string | null`,id:`param-stats-description-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsxs(ResponseField,{name:`stats`,type:`readonly StatsWidgetStatsItem[]`,id:`param-stats`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StatsWidgetStatsItem`}),`. Stats.`]}),_jsxs(Expandable,{title:`StatsWidgetStatsItem`,children:[_jsx(ResponseField,{name:`value`,type:`string`,id:`param-value`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The number, e.g. 500, 4.9, 12 — symbols go in the prefix/suffix so the count-up animates the number alone.`]})}),_jsx(ResponseField,{name:`label`,type:`string`,id:`param-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Label.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-20`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`icon`,type:`string`,id:`param-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional Font Awesome icon shown above the number (e.g. star, bolt, chart-line). Leave empty for no icon.`]})}),_jsx(ResponseField,{name:`iconFamily`,type:`IconFamily | null`,id:`param-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconColor`,type:`string | null`,id:`param-icon-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the design’s own color rhythm.`]})}),_jsx(ResponseField,{name:`valuePrefix`,type:`string`,id:`param-value-prefix`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional, shown before the number (e.g. $, ~, >). Kept out of the count-up.`]})}),_jsx(ResponseField,{name:`valueSuffix`,type:`string`,id:`param-value-suffix`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional, shown after the number (e.g. +, %, k, yrs, ★).`]})}),_jsx(ResponseField,{name:`description`,type:`string`,id:`param-description`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional small text under the label.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`statsBg`,type:`StatsBg | null`,id:`param-stats-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsBgCustom`,type:`string | null`,id:`param-stats-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`statsBgLight`,type:`StatsBgLight | null`,id:`param-stats-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsBgLightCustom`,type:`string | null`,id:`param-stats-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`statsFontOverrides`,type:`readonly StatsWidgetStatsFontOverridesItem[]`,id:`param-stats-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StatsWidgetStatsFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`StatsWidgetStatsFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-21`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly StatsWidgetStatsFontOverridesItemUploadsItem[]`,id:`param-uploads-2`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StatsWidgetStatsFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`StatsWidgetStatsFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-22`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-18`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`statsCtaLabel`,type:`string`,id:`param-stats-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`statsCtaUrl`,type:`string`,id:`param-stats-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`statsCtaNewTab`,type:`boolean`,id:`param-stats-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`statsCtaVariant`,type:`StatsCtaVariant | null`,id:`param-stats-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaSize`,type:`StatsCtaSize | null`,id:`param-stats-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaRadius`,type:`StatsCtaRadius | null`,id:`param-stats-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaColor`,type:`string | null`,id:`param-stats-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`statsCtaColorLight`,type:`string | null`,id:`param-stats-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`statsCtaTextColor`,type:`string | null`,id:`param-stats-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`statsCtaTextColorLight`,type:`string | null`,id:`param-stats-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`statsCtaHoverColor`,type:`string | null`,id:`param-stats-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`statsCtaHoverColorLight`,type:`string | null`,id:`param-stats-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`statsCtaStyle`,type:`StatsCtaStyle | null`,id:`param-stats-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaShadowColor`,type:`string | null`,id:`param-stats-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`statsCtaShadowColorLight`,type:`string | null`,id:`param-stats-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`statsCtaAnimation`,type:`StatsCtaAnimation | null`,id:`param-stats-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaIcon`,type:`string`,id:`param-stats-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`statsCtaIconFamily`,type:`StatsCtaIconFamily | null`,id:`param-stats-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaIconPosition`,type:`StatsCtaIconPosition | null`,id:`param-stats-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaIconNudge`,type:`boolean`,id:`param-stats-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-19`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`StepsWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`steps`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`StepsWidgetType`,id:`param-type-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`steps`}),`. One of `,_jsx(_components.code,{children:`steps`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-23`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsEyebrowEnabled`,type:`boolean`,id:`param-steps-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “How it works”).`]})}),_jsx(ResponseField,{name:`stepsEyebrow`,type:`string`,id:`param-steps-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`stepsEyebrowColor`,type:`string | null`,id:`param-steps-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`stepsEyebrowColorLight`,type:`string | null`,id:`param-steps-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsEyebrowWeight`,type:`StepsEyebrowWeight | null`,id:`param-steps-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsEyebrowSize`,type:`StepsEyebrowSize | null`,id:`param-steps-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsHeading`,type:`string`,id:`param-steps-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the steps.`]})}),_jsx(ResponseField,{name:`stepsHeadingColor`,type:`string | null`,id:`param-steps-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`stepsHeadingColorLight`,type:`string | null`,id:`param-steps-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsHeadingWeight`,type:`StepsHeadingWeight | null`,id:`param-steps-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsHeadingSize`,type:`StepsHeadingSize | null`,id:`param-steps-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsIntro`,type:`string`,id:`param-steps-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`stepsIntroColor`,type:`string | null`,id:`param-steps-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`stepsIntroColorLight`,type:`string | null`,id:`param-steps-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsIntroWeight`,type:`StepsIntroWeight | null`,id:`param-steps-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsIntroSize`,type:`StepsIntroSize | null`,id:`param-steps-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsLayout`,type:`StepsLayout | null`,id:`param-steps-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal lays the steps across a row (marker on top); Vertical stacks them as a classic timeline (marker on the left). One of `,_jsx(_components.code,{children:`horizontal`}),`, `,_jsx(_components.code,{children:`vertical`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsColumns`,type:`StepsColumns | null`,id:`param-steps-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal only. Auto fits as many as comfortably fit and works for any number of steps. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsGap`,type:`StepsGap | null`,id:`param-steps-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between steps. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsAlign`,type:`StepsAlign | null`,id:`param-steps-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal only — aligns the section header and each step’s text. (Vertical is always left-aligned beside its marker.) One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsConnector`,type:`boolean`,id:`param-steps-connector`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A line linking the step markers into a timeline (down the markers when vertical, across them when horizontal).`]})}),_jsx(ResponseField,{name:`stepsCardStyle`,type:`StepsCardStyle | null`,id:`param-steps-card-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Plain keeps the connector-linked timeline (just marker + text, no card). Every other style boxes each step — Raised is a quiet lit card, Luxe a frosted glass panel, Outline a plaque frame, Spine adds a color rail, Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardStyleRadius`,type:`StepsCardStyleRadius | null`,id:`param-steps-card-style-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardStyleAccentColor`,type:`string | null`,id:`param-steps-card-style-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`stepsCardStyleAccentColorLight`,type:`string | null`,id:`param-steps-card-style-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsCardStyleForgeScope`,type:`StepsCardStyleForgeScope | null`,id:`param-steps-card-style-forge-scope`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardStyleForgeWeight`,type:`StepsCardStyleForgeWeight | null`,id:`param-steps-card-style-forge-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardHover`,type:`StepsCardHover | null`,id:`param-steps-card-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a boxed step does on hover (applies when Step style is not Plain). Lift/Pop/Press/Glow/Outline are instant; Sheen sweeps a light across; Tilt, Magnetic and Spotlight follow the cursor (need site animations on). One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarker`,type:`StepsMarker | null`,id:`param-steps-marker`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Number auto-counts 1, 2, 3…; Icon shows each step’s icon (falling back to the number when a step has none); None hides the marker badge. One of `,_jsx(_components.code,{children:`number`}),`, `,_jsx(_components.code,{children:`icon`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarkerStyle`,type:`StepsMarkerStyle | null`,id:`param-steps-marker-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Soft is a tinted accent badge; Filled is a solid accent badge; Outline is a bordered badge. One of `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`filled`}),`, `,_jsx(_components.code,{children:`outline`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarkerShape`,type:`StepsMarkerShape | null`,id:`param-steps-marker-shape`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marker shape. One of `,_jsx(_components.code,{children:`circle`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarkerSize`,type:`StepsMarkerSize | null`,id:`param-steps-marker-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marker size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsAccentColor`,type:`string | null`,id:`param-steps-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Color for the marker badge and the connector line. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`stepsAccentColorLight`,type:`string | null`,id:`param-steps-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme accent.`]})}),_jsx(ResponseField,{name:`stepsTitleSize`,type:`StepsTitleSize | null`,id:`param-steps-title-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsTitleWeight`,type:`StepsTitleWeight | null`,id:`param-steps-title-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsTitleColor`,type:`string | null`,id:`param-steps-title-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`stepsTitleColorLight`,type:`string | null`,id:`param-steps-title-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsBodySize`,type:`StepsBodySize | null`,id:`param-steps-body-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBodyWeight`,type:`StepsBodyWeight | null`,id:`param-steps-body-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBodyColor`,type:`string | null`,id:`param-steps-body-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`stepsBodyColorLight`,type:`string | null`,id:`param-steps-body-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsxs(ResponseField,{name:`stepsItems`,type:`readonly StepsWidgetStepsItemsItem[]`,id:`param-steps-items`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StepsWidgetStepsItemsItem`}),`. Each item is one step in the process. They render in this order; the number marker counts automatically.`]}),_jsxs(Expandable,{title:`StepsWidgetStepsItemsItem`,children:[_jsx(ResponseField,{name:`title`,type:`string`,id:`param-title-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Title.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-24`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`icon`,type:`string`,id:`param-icon-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional Font Awesome icon for this step (e.g. calendar-check, circle-check, gear). Shown in the marker when the section marker is set to “Icon”; otherwise the step is numbered.`]})}),_jsx(ResponseField,{name:`iconFamily`,type:`IconFamily | null`,id:`param-icon-family-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconColor`,type:`string | null`,id:`param-icon-color-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the design’s own color rhythm.`]})}),_jsx(ResponseField,{name:`number`,type:`string`,id:`param-number`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Overrides the auto number for this step’s marker, e.g. “01” or “A”. Leave empty to auto-count.`]})}),_jsx(ResponseField,{name:`body`,type:`string`,id:`param-body`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional description under the title.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-20`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`stepsBg`,type:`StepsBg | null`,id:`param-steps-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBgCustom`,type:`string | null`,id:`param-steps-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`stepsBgLight`,type:`StepsBgLight | null`,id:`param-steps-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBgLightCustom`,type:`string | null`,id:`param-steps-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`stepsFontOverrides`,type:`readonly StepsWidgetStepsFontOverridesItem[]`,id:`param-steps-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StepsWidgetStepsFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`StepsWidgetStepsFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-25`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly StepsWidgetStepsFontOverridesItemUploadsItem[]`,id:`param-uploads-3`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StepsWidgetStepsFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`StepsWidgetStepsFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-26`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-21`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-22`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`stepsCtaLabel`,type:`string`,id:`param-steps-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`stepsCtaUrl`,type:`string`,id:`param-steps-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`stepsCtaNewTab`,type:`boolean`,id:`param-steps-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`stepsCtaVariant`,type:`StepsCtaVariant | null`,id:`param-steps-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaSize`,type:`StepsCtaSize | null`,id:`param-steps-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaRadius`,type:`StepsCtaRadius | null`,id:`param-steps-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaColor`,type:`string | null`,id:`param-steps-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`stepsCtaColorLight`,type:`string | null`,id:`param-steps-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`stepsCtaTextColor`,type:`string | null`,id:`param-steps-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`stepsCtaTextColorLight`,type:`string | null`,id:`param-steps-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`stepsCtaHoverColor`,type:`string | null`,id:`param-steps-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`stepsCtaHoverColorLight`,type:`string | null`,id:`param-steps-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`stepsCtaStyle`,type:`StepsCtaStyle | null`,id:`param-steps-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaShadowColor`,type:`string | null`,id:`param-steps-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`stepsCtaShadowColorLight`,type:`string | null`,id:`param-steps-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`stepsCtaAnimation`,type:`StepsCtaAnimation | null`,id:`param-steps-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaIcon`,type:`string`,id:`param-steps-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`stepsCtaIconFamily`,type:`StepsCtaIconFamily | null`,id:`param-steps-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaIconPosition`,type:`StepsCtaIconPosition | null`,id:`param-steps-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaIconNudge`,type:`boolean`,id:`param-steps-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-23`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`PricingWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`pricing`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`PricingWidgetType`,id:`param-type-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`pricing`}),`. One of `,_jsx(_components.code,{children:`pricing`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-27`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingEyebrowEnabled`,type:`boolean`,id:`param-pricing-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “Pricing”).`]})}),_jsx(ResponseField,{name:`pricingEyebrow`,type:`string`,id:`param-pricing-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`pricingEyebrowColor`,type:`string | null`,id:`param-pricing-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`pricingEyebrowColorLight`,type:`string | null`,id:`param-pricing-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingEyebrowWeight`,type:`PricingEyebrowWeight | null`,id:`param-pricing-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingEyebrowSize`,type:`PricingEyebrowSize | null`,id:`param-pricing-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHeading`,type:`string`,id:`param-pricing-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the cards.`]})}),_jsx(ResponseField,{name:`pricingHeadingColor`,type:`string | null`,id:`param-pricing-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`pricingHeadingColorLight`,type:`string | null`,id:`param-pricing-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingHeadingWeight`,type:`PricingHeadingWeight | null`,id:`param-pricing-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHeadingSize`,type:`PricingHeadingSize | null`,id:`param-pricing-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingIntro`,type:`string`,id:`param-pricing-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`pricingIntroColor`,type:`string | null`,id:`param-pricing-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`pricingIntroColorLight`,type:`string | null`,id:`param-pricing-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingIntroWeight`,type:`PricingIntroWeight | null`,id:`param-pricing-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingIntroSize`,type:`PricingIntroSize | null`,id:`param-pricing-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingColumns`,type:`PricingColumns | null`,id:`param-pricing-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of cards. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingGap`,type:`PricingGap | null`,id:`param-pricing-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between cards. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyle`,type:`PricingCardStyle | null`,id:`param-pricing-card-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The base treatment for every tier (a highlighted tier always gets its own bold framed look). Raised is a quiet lit card; Luxe a frosted glass panel; Outline a plaque frame; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyleRadius`,type:`PricingCardStyleRadius | null`,id:`param-pricing-card-style-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyleAccentColor`,type:`string | null`,id:`param-pricing-card-style-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`pricingCardStyleAccentColorLight`,type:`string | null`,id:`param-pricing-card-style-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingCardStyleForgeScope`,type:`PricingCardStyleForgeScope | null`,id:`param-pricing-card-style-forge-scope`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyleForgeWeight`,type:`PricingCardStyleForgeWeight | null`,id:`param-pricing-card-style-forge-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingAlign`,type:`PricingAlign | null`,id:`param-pricing-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aligns the section header and the text inside each card. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingEqualHeight`,type:`boolean`,id:`param-pricing-equal-height`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Stretch every card to the tallest one and pin each button to the bottom, so the cards line up even with uneven feature lists.`]})}),_jsx(ResponseField,{name:`pricingFeatureMarkers`,type:`boolean`,id:`param-pricing-feature-markers`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A check (included) or cross (not included) before each feature. Off = a plain list.`]})}),_jsx(ResponseField,{name:`pricingCardHover`,type:`PricingCardHover | null`,id:`param-pricing-card-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How a card reacts to the pointer. Rise floats it up on an accent underglow; Selection ring previews the highlighted look + tints the price; Spotlight washes accent light over the price; Checklist lights up the ✓ marks one-by-one; Tilt is a 3-D parallax that only runs when site animations are on. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`rise`}),`, `,_jsx(_components.code,{children:`ring`}),`, `,_jsx(_components.code,{children:`spotlight`}),`, `,_jsx(_components.code,{children:`checklist`}),`, `,_jsx(_components.code,{children:`tilt`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHoverColor`,type:`string | null`,id:`param-pricing-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / glow / spotlight / checkmark color on hover. Leave empty to use the highlight accent (then the site accent).`]})}),_jsx(ResponseField,{name:`pricingHoverColorLight`,type:`string | null`,id:`param-pricing-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover accent.`]})}),_jsx(ResponseField,{name:`pricingEntrance`,type:`PricingEntrance | null`,id:`param-pricing-entrance`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How the cards animate in as they scroll into view. Featured-led makes the highlighted tier settle last with a little emphasis (draws the eye to the recommended plan); Simple stagger fades them in evenly. Only plays when site animations are on (Site design → Motion) — otherwise the cards are simply shown. One of `,_jsx(_components.code,{children:`featured`}),`, `,_jsx(_components.code,{children:`stagger`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingNameSize`,type:`PricingNameSize | null`,id:`param-pricing-name-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of each card’s name / title. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingPriceSize`,type:`PricingPriceSize | null`,id:`param-pricing-price-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of the price amount (the period and price note scale with it). One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingDescSize`,type:`PricingDescSize | null`,id:`param-pricing-desc-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of each card’s description blurb. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeatureSize`,type:`PricingFeatureSize | null`,id:`param-pricing-feature-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of the feature list text (notes and check marks scale with it). One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHighlightBadge`,type:`string`,id:`param-pricing-highlight-badge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Ribbon text shown on a highlighted tier that doesn’t set its own badge. Each tier can override it (or badge a non-highlighted tier) below. Leave empty for no automatic badge.`]})}),_jsx(ResponseField,{name:`pricingAccentColor`,type:`string | null`,id:`param-pricing-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Color for the highlighted tier’s border + ring and each tier’s badge. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`pricingAccentColorLight`,type:`string | null`,id:`param-pricing-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme accent.`]})}),_jsxs(ResponseField,{name:`pricingTiers`,type:`readonly PricingWidgetPricingTiersItem[]`,id:`param-pricing-tiers`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`PricingWidgetPricingTiersItem`}),`. Each card is one tier / package / service. Toggle “Highlight” on the one you want to stand out.`]}),_jsxs(Expandable,{title:`PricingWidgetPricingTiersItem`,children:[_jsx(ResponseField,{name:`name`,type:`string`,id:`param-name`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Tier / package / service name — e.g. “Starter”, “Studio”, “Agency”.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-28`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`icon`,type:`string`,id:`param-icon-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`iconFamily`,type:`IconFamily | null`,id:`param-icon-family-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconColor`,type:`string | null`,id:`param-icon-color-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the design’s own color rhythm.`]})}),_jsx(ResponseField,{name:`iconAnimation`,type:`IconAnimation | null`,id:`param-icon-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon animation. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`fa-beat`}),`, `,_jsx(_components.code,{children:`fa-bounce`}),`, `,_jsx(_components.code,{children:`fa-fade`}),`, `,_jsx(_components.code,{children:`fa-beat-fade`}),`, `,_jsx(_components.code,{children:`fa-flip`}),`, `,_jsx(_components.code,{children:`fa-shake`}),`, `,_jsx(_components.code,{children:`fa-spin`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconSize`,type:`IconSize | null`,id:`param-icon-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Relative to the component’s base icon size. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`, `,_jsx(_components.code,{children:`2xl`}),`, `,_jsx(_components.code,{children:`2x`}),`, `,_jsx(_components.code,{children:`3x`}),`, `,_jsx(_components.code,{children:`4x`}),`, `,_jsx(_components.code,{children:`5x`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconGap`,type:`IconGap | null`,id:`param-icon-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Breathing room below the icon, before the card name. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`badge`,type:`string`,id:`param-badge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small ribbon on the card, e.g. “Best value”, “Limited spots”. Overrides the default highlight badge for this tier; works on any tier, highlighted or not. Empty on a highlighted tier falls back to the section’s “Default highlight badge”.`]})}),_jsx(ResponseField,{name:`highlighted`,type:`boolean`,id:`param-highlighted`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Emphasize this tier — accent border + ring, a subtle lift, and the Featured button look.`]})}),_jsx(ResponseField,{name:`textAlign`,type:`TextAlign | null`,id:`param-text-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How this card’s text lines up. Normal = the section default (a centered section keeps the feature list left-aligned, as now). Center also centers the feature list; Left / Right align everything that way. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`price`,type:`string`,id:`param-price`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Free text, so it fits any model — “`,`$45\", \"From $`,`200”, “Custom”, “Call for quote”.`]})}),_jsx(ResponseField,{name:`period`,type:`string`,id:`param-period`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Shown after the price, e.g. ”/ month”, “per night”, “per session”. Leave empty for a flat price.`]})}),_jsx(ResponseField,{name:`priceNote`,type:`string`,id:`param-price-note`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small line under the price, e.g. “per seat”, “billed annually”, ”+ tax”.`]})}),_jsx(ResponseField,{name:`description`,type:`string`,id:`param-description-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A short blurb under the name.`]})}),_jsxs(ResponseField,{name:`features`,type:`readonly PricingWidgetPricingTiersItemFeaturesItem[]`,id:`param-features`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`PricingWidgetPricingTiersItemFeaturesItem`}),`. The bullet list of what’s included.`]}),_jsxs(Expandable,{title:`PricingWidgetPricingTiersItemFeaturesItem`,children:[_jsx(ResponseField,{name:`text`,type:`string`,id:`param-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Feature.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-29`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`included`,type:`boolean`,id:`param-included`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. On = a check mark; off = a crossed-out / muted line (e.g. a feature this tier lacks).`]})}),_jsx(ResponseField,{name:`note`,type:`string`,id:`param-note`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small qualifier shown after the feature, e.g. “up to 5”, “add-on”.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-24`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`ctaLabel`,type:`string`,id:`param-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. This card’s button text. Leave empty to use the shared button label (set in the Pricing · Buttons tab); clear it everywhere to hide the button.`]})}),_jsx(ResponseField,{name:`ctaUrl`,type:`string`,id:`param-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/contact-us) or full URL. Leave empty to inherit the shared button link.`]})}),_jsx(ResponseField,{name:`ctaNewTab`,type:`boolean`,id:`param-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Open button in new tab.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-25`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`pricingBg`,type:`PricingBg | null`,id:`param-pricing-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingBgCustom`,type:`string | null`,id:`param-pricing-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`pricingBgLight`,type:`PricingBgLight | null`,id:`param-pricing-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingBgLightCustom`,type:`string | null`,id:`param-pricing-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`pricingFontOverrides`,type:`readonly PricingWidgetPricingFontOverridesItem[]`,id:`param-pricing-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`PricingWidgetPricingFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`PricingWidgetPricingFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-30`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly PricingWidgetPricingFontOverridesItemUploadsItem[]`,id:`param-uploads-4`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`PricingWidgetPricingFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`PricingWidgetPricingFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-31`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-26`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-27`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`pricingFeaturedCtaLabel`,type:`string`,id:`param-pricing-featured-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaUrl`,type:`string`,id:`param-pricing-featured-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaNewTab`,type:`boolean`,id:`param-pricing-featured-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaVariant`,type:`PricingFeaturedCtaVariant | null`,id:`param-pricing-featured-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaSize`,type:`PricingFeaturedCtaSize | null`,id:`param-pricing-featured-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaRadius`,type:`PricingFeaturedCtaRadius | null`,id:`param-pricing-featured-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaColor`,type:`string | null`,id:`param-pricing-featured-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaColorLight`,type:`string | null`,id:`param-pricing-featured-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaTextColor`,type:`string | null`,id:`param-pricing-featured-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaTextColorLight`,type:`string | null`,id:`param-pricing-featured-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaHoverColor`,type:`string | null`,id:`param-pricing-featured-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaHoverColorLight`,type:`string | null`,id:`param-pricing-featured-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaStyle`,type:`PricingFeaturedCtaStyle | null`,id:`param-pricing-featured-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaShadowColor`,type:`string | null`,id:`param-pricing-featured-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaShadowColorLight`,type:`string | null`,id:`param-pricing-featured-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaAnimation`,type:`PricingFeaturedCtaAnimation | null`,id:`param-pricing-featured-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIcon`,type:`string`,id:`param-pricing-featured-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIconFamily`,type:`PricingFeaturedCtaIconFamily | null`,id:`param-pricing-featured-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIconPosition`,type:`PricingFeaturedCtaIconPosition | null`,id:`param-pricing-featured-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIconNudge`,type:`boolean`,id:`param-pricing-featured-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`pricingCtaLabel`,type:`string`,id:`param-pricing-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`pricingCtaUrl`,type:`string`,id:`param-pricing-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`pricingCtaNewTab`,type:`boolean`,id:`param-pricing-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`pricingCtaVariant`,type:`PricingCtaVariant | null`,id:`param-pricing-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaSize`,type:`PricingCtaSize | null`,id:`param-pricing-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaRadius`,type:`PricingCtaRadius | null`,id:`param-pricing-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaColor`,type:`string | null`,id:`param-pricing-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`pricingCtaColorLight`,type:`string | null`,id:`param-pricing-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`pricingCtaTextColor`,type:`string | null`,id:`param-pricing-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`pricingCtaTextColorLight`,type:`string | null`,id:`param-pricing-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`pricingCtaHoverColor`,type:`string | null`,id:`param-pricing-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`pricingCtaHoverColorLight`,type:`string | null`,id:`param-pricing-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`pricingCtaStyle`,type:`PricingCtaStyle | null`,id:`param-pricing-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaShadowColor`,type:`string | null`,id:`param-pricing-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`pricingCtaShadowColorLight`,type:`string | null`,id:`param-pricing-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`pricingCtaAnimation`,type:`PricingCtaAnimation | null`,id:`param-pricing-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaIcon`,type:`string`,id:`param-pricing-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`pricingCtaIconFamily`,type:`PricingCtaIconFamily | null`,id:`param-pricing-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaIconPosition`,type:`PricingCtaIconPosition | null`,id:`param-pricing-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaIconNudge`,type:`boolean`,id:`param-pricing-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-28`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`MediaTextWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`media-text`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`MediaTextWidgetType`,id:`param-type-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`media-text`}),`. One of `,_jsx(_components.code,{children:`media-text`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-32`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowEnabled`,type:`boolean`,id:`param-media-text-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the section heading (e.g. “Why us”).`]})}),_jsx(ResponseField,{name:`mediaTextEyebrow`,type:`string`,id:`param-media-text-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowColor`,type:`string | null`,id:`param-media-text-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowColorLight`,type:`string | null`,id:`param-media-text-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowWeight`,type:`MediaTextEyebrowWeight | null`,id:`param-media-text-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowSize`,type:`MediaTextEyebrowSize | null`,id:`param-media-text-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextHeading`,type:`string`,id:`param-media-text-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional section heading above the blocks. Leave empty to show just the blocks.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingColor`,type:`string | null`,id:`param-media-text-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingColorLight`,type:`string | null`,id:`param-media-text-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingWeight`,type:`MediaTextHeadingWeight | null`,id:`param-media-text-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingSize`,type:`MediaTextHeadingSize | null`,id:`param-media-text-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextIntro`,type:`string`,id:`param-media-text-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`mediaTextIntroColor`,type:`string | null`,id:`param-media-text-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`mediaTextIntroColorLight`,type:`string | null`,id:`param-media-text-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextIntroWeight`,type:`MediaTextIntroWeight | null`,id:`param-media-text-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextIntroSize`,type:`MediaTextIntroSize | null`,id:`param-media-text-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextAlign`,type:`MediaTextAlign | null`,id:`param-media-text-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aligns the section header and the text inside each block. (Side-by-side rows usually read best left-aligned.) One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`center`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextRatio`,type:`MediaTextRatio | null`,id:`param-media-text-ratio`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. For media-left / media-right rows: how the two columns share the width. One of `,_jsx(_components.code,{children:`balanced`}),`, `,_jsx(_components.code,{children:`media`}),`, `,_jsx(_components.code,{children:`text`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextVAlign`,type:`MediaTextVAlign | null`,id:`param-media-text-v-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. For media-left / media-right rows: how the text lines up against the media. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`top`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextMediaRatio`,type:`MediaTextMediaRatio | null`,id:`param-media-text-media-ratio`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aspect ratio of the media frame. Auto keeps an image at its natural shape (videos and embeds always use a ratio). One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`landscape`}),`, `,_jsx(_components.code,{children:`standard`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`portrait`}),`, `,_jsx(_components.code,{children:`wide`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextMediaRadius`,type:`MediaTextMediaRadius | null`,id:`param-media-text-media-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Media corners. One of `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextGap`,type:`MediaTextGap | null`,id:`param-media-text-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between blocks. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextDividers`,type:`boolean`,id:`param-media-text-dividers`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A hairline rule between blocks.`]})}),_jsx(ResponseField,{name:`mediaTextBlockEyebrowColor`,type:`string | null`,id:`param-media-text-block-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Each block’s eyebrow color. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockEyebrowColorLight`,type:`string | null`,id:`param-media-text-block-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockEyebrowWeight`,type:`MediaTextBlockEyebrowWeight | null`,id:`param-media-text-block-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingColor`,type:`string | null`,id:`param-media-text-block-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingColorLight`,type:`string | null`,id:`param-media-text-block-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingWeight`,type:`MediaTextBlockHeadingWeight | null`,id:`param-media-text-block-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingSize`,type:`MediaTextBlockHeadingSize | null`,id:`param-media-text-block-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBodyColor`,type:`string | null`,id:`param-media-text-body-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`mediaTextBodyColorLight`,type:`string | null`,id:`param-media-text-body-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextBodyWeight`,type:`MediaTextBodyWeight | null`,id:`param-media-text-body-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBodySize`,type:`MediaTextBodySize | null`,id:`param-media-text-body-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block body size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsxs(ResponseField,{name:`mediaTextBlocks`,type:`readonly MediaTextWidgetMediaTextBlocksItem[]`,id:`param-media-text-blocks`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextBlocksItem`}),`. Each block is one media + text row. They render top to bottom in this order; alternate “Media left” / “Media right” for a classic zig-zag.`]}),_jsxs(Expandable,{title:`MediaTextWidgetMediaTextBlocksItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-33`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`layout`,type:`Layout | null`,id:`param-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Media left / right place the media beside the text; Stacked puts media above the text; Full-bleed runs the media edge-to-edge with the text below. One of `,_jsx(_components.code,{children:`media-left`}),`, `,_jsx(_components.code,{children:`media-right`}),`, `,_jsx(_components.code,{children:`stacked`}),`, `,_jsx(_components.code,{children:`full`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaType`,type:`MediaTextWidgetMediaTextBlocksItemMediaType | null`,id:`param-media-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Pick where the media comes from. “None” makes this a text-only block. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`, `,_jsx(_components.code,{children:`embed`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`image`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-image-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick an image from the Images library. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`imageAlt`,type:`string`,id:`param-image-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Describe the image for screen readers and SEO. Leave empty to use the library image’s own alt text. Set to a single space for a purely decorative image.`]})}),_jsx(ResponseField,{name:`video`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-video-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`videoAutoplay`,type:`boolean`,id:`param-video-autoplay`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Play automatically as a muted, looping background clip (a pause button is shown, and reduced-motion visitors get the poster image). Off = a normal video with play controls.`]})}),_jsx(ResponseField,{name:`embedUrl`,type:`string`,id:`param-embed-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Paste a YouTube or Vimeo link, e.g. `,_jsx(_components.a,{href:`https://youtu.be/%E2%80%A6`,children:`https://youtu.be/…`}),` or `,_jsx(_components.a,{href:`https://vimeo.com/%E2%80%A6`,children:`https://vimeo.com/…`}),`.`]})}),_jsx(ResponseField,{name:`eyebrow`,type:`string`,id:`param-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the block heading.`]})}),_jsx(ResponseField,{name:`heading`,type:`string`,id:`param-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The block’s headline.`]})}),_jsx(ResponseField,{name:`body`,type:`string`,id:`param-body-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A paragraph or two. Leave a blank line between paragraphs.`]})}),_jsx(ResponseField,{name:`ctaLabel`,type:`string`,id:`param-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. This block’s button text. Leave empty (with no link) to hide the button.`]})}),_jsx(ResponseField,{name:`ctaUrl`,type:`string`,id:`param-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/about-us) or full URL.`]})}),_jsx(ResponseField,{name:`ctaNewTab`,type:`boolean`,id:`param-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Open button in new tab.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-29`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`mediaTextBg`,type:`MediaTextBg | null`,id:`param-media-text-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBgCustom`,type:`string | null`,id:`param-media-text-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`mediaTextBgLight`,type:`MediaTextBgLight | null`,id:`param-media-text-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBgLightCustom`,type:`string | null`,id:`param-media-text-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`mediaTextFontOverrides`,type:`readonly MediaTextWidgetMediaTextFontOverridesItem[]`,id:`param-media-text-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`MediaTextWidgetMediaTextFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-34`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly MediaTextWidgetMediaTextFontOverridesItemUploadsItem[]`,id:`param-uploads-5`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`MediaTextWidgetMediaTextFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-35`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-30`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-31`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`mediaTextCtaVariant`,type:`MediaTextCtaVariant | null`,id:`param-media-text-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaSize`,type:`MediaTextCtaSize | null`,id:`param-media-text-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaRadius`,type:`MediaTextCtaRadius | null`,id:`param-media-text-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaColor`,type:`string | null`,id:`param-media-text-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`mediaTextCtaColorLight`,type:`string | null`,id:`param-media-text-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`mediaTextCtaTextColor`,type:`string | null`,id:`param-media-text-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`mediaTextCtaTextColorLight`,type:`string | null`,id:`param-media-text-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaHoverColor`,type:`string | null`,id:`param-media-text-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaHoverColorLight`,type:`string | null`,id:`param-media-text-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaStyle`,type:`MediaTextCtaStyle | null`,id:`param-media-text-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaShadowColor`,type:`string | null`,id:`param-media-text-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaShadowColorLight`,type:`string | null`,id:`param-media-text-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaAnimation`,type:`MediaTextCtaAnimation | null`,id:`param-media-text-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIcon`,type:`string`,id:`param-media-text-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIconFamily`,type:`MediaTextCtaIconFamily | null`,id:`param-media-text-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIconPosition`,type:`MediaTextCtaIconPosition | null`,id:`param-media-text-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIconNudge`,type:`boolean`,id:`param-media-text-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-32`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`DeviceMockWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`device-mock`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`DeviceMockWidgetType`,id:`param-type-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`device-mock`}),`. One of `,_jsx(_components.code,{children:`device-mock`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-36`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockArrangement`,type:`DeviceMockArrangement | null`,id:`param-device-mock-arrangement`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which devices to show. Duo overlaps a phone on the corner of a desktop browser; Trio adds a TV behind them (on narrow screens Trio drops the TV and shows as a Duo). Each device used gets its own screen tab. One of `,_jsx(_components.code,{children:`duo`}),`, `,_jsx(_components.code,{children:`trio`}),`, `,_jsx(_components.code,{children:`desktop`}),`, `,_jsx(_components.code,{children:`phone`}),`, `,_jsx(_components.code,{children:`tv`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockTextPlacement`,type:`DeviceMockTextPlacement | null`,id:`param-device-mock-text-placement`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the eyebrow / heading / intro / button sit. Left or right puts the text in a column beside the devices (stacked above them on narrow screens); None shows the devices only. One of `,_jsx(_components.code,{children:`above`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockSize`,type:`DeviceMockSize | null`,id:`param-device-mock-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How large the devices render within the section. One of `,_jsx(_components.code,{children:`compact`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBrowserRatio`,type:`DeviceMockBrowserRatio | null`,id:`param-device-mock-browser-ratio`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The browser window’s content area. Match your desktop captures. One of `,_jsx(_components.code,{children:`16:10`}),`, `,_jsx(_components.code,{children:`16:9`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBrowserUrl`,type:`string`,id:`param-device-mock-browser-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The address shown in the browser toolbar — decoration only, not a link.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneStatusBar`,type:`boolean`,id:`param-device-mock-phone-status-bar`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds a time / signal / battery bar across the top of the phone screen. Leave off for native phone screenshots — they already include the real status bar.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneTime`,type:`string`,id:`param-device-mock-phone-time`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Status bar time.`]})}),_jsx(ResponseField,{name:`deviceMockMotionPause`,type:`boolean`,id:`param-device-mock-motion-pause`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds a small, unobtrusive pause/play control so visitors can stop the auto-playing background motion (WCAG 2.2.2). Only appears when a moving background is set.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowEnabled`,type:`boolean`,id:`param-device-mock-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “Product tour”).`]})}),_jsx(ResponseField,{name:`deviceMockEyebrow`,type:`string`,id:`param-device-mock-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowColor`,type:`string | null`,id:`param-device-mock-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowColorLight`,type:`string | null`,id:`param-device-mock-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowWeight`,type:`DeviceMockEyebrowWeight | null`,id:`param-device-mock-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowSize`,type:`DeviceMockEyebrowSize | null`,id:`param-device-mock-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockHeading`,type:`string`,id:`param-device-mock-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the devices.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingColor`,type:`string | null`,id:`param-device-mock-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingColorLight`,type:`string | null`,id:`param-device-mock-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingWeight`,type:`DeviceMockHeadingWeight | null`,id:`param-device-mock-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingSize`,type:`DeviceMockHeadingSize | null`,id:`param-device-mock-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockIntro`,type:`string`,id:`param-device-mock-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short paragraph under the heading.`]})}),_jsx(ResponseField,{name:`deviceMockIntroColor`,type:`string | null`,id:`param-device-mock-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`deviceMockIntroColorLight`,type:`string | null`,id:`param-device-mock-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`deviceMockIntroWeight`,type:`DeviceMockIntroWeight | null`,id:`param-device-mock-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockIntroSize`,type:`DeviceMockIntroSize | null`,id:`param-device-mock-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCaption`,type:`string`,id:`param-device-mock-caption`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A short line shown under the devices.`]})}),_jsx(ResponseField,{name:`deviceMockTvMediaType`,type:`DeviceMockTvMediaType | null`,id:`param-device-mock-tv-media-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A still screenshot, or a short looping screen recording. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockTvImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-tv-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use a native-resolution 16:9 capture of the screen with NO device frame (the frame is drawn for you) — e.g. 1920 × 1080 or 3840 × 2160. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockTvImageAlt`,type:`string`,id:`param-device-mock-tv-image-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.`]})}),_jsx(ResponseField,{name:`deviceMockTvVideo`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-tv-video`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution 16:9 capture of the screen with NO device frame (the frame is drawn for you) — e.g. 1920 × 1080 or 3840 × 2160. The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockTvVideoAlt`,type:`string`,id:`param-device-mock-tv-video-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.`]})}),_jsx(ResponseField,{name:`deviceMockTvFit`,type:`DeviceMockTvFit | null`,id:`param-device-mock-tv-fit`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of `,_jsx(_components.code,{children:`cover`}),`, `,_jsx(_components.code,{children:`contain`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockTvAnchor`,type:`DeviceMockTvAnchor | null`,id:`param-device-mock-tv-anchor`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of `,_jsx(_components.code,{children:`top`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`bottom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopMediaType`,type:`DeviceMockDesktopMediaType | null`,id:`param-device-mock-desktop-media-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A still screenshot, or a short looping screen recording. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-desktop-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use a native-resolution capture of the page content only — no browser toolbar and no device frame (both are drawn for you). 16:10 (e.g. 2880 × 1800) or 16:9 (e.g. 2560 × 1440), matching the “Desktop screen shape” setting. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopImageAlt`,type:`string`,id:`param-device-mock-desktop-image-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopVideo`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-desktop-video`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution capture of the page content only — no browser toolbar and no device frame (both are drawn for you). 16:10 (e.g. 2880 × 1800) or 16:9 (e.g. 2560 × 1440), matching the “Desktop screen shape” setting. The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopVideoAlt`,type:`string`,id:`param-device-mock-desktop-video-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopFit`,type:`DeviceMockDesktopFit | null`,id:`param-device-mock-desktop-fit`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of `,_jsx(_components.code,{children:`cover`}),`, `,_jsx(_components.code,{children:`contain`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopAnchor`,type:`DeviceMockDesktopAnchor | null`,id:`param-device-mock-desktop-anchor`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of `,_jsx(_components.code,{children:`top`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`bottom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneMediaType`,type:`DeviceMockPhoneMediaType | null`,id:`param-device-mock-phone-media-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A still screenshot, or a short looping screen recording. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-phone-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use a native-resolution portrait screenshot with NO device frame (the frame is drawn for you) — e.g. 1179 × 2556 or 1290 × 2796 (about 9:19.5). The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneImageAlt`,type:`string`,id:`param-device-mock-phone-image-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneVideo`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-phone-video`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution portrait screenshot with NO device frame (the frame is drawn for you) — e.g. 1179 × 2556 or 1290 × 2796 (about 9:19.5). The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneVideoAlt`,type:`string`,id:`param-device-mock-phone-video-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneFit`,type:`DeviceMockPhoneFit | null`,id:`param-device-mock-phone-fit`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of `,_jsx(_components.code,{children:`cover`}),`, `,_jsx(_components.code,{children:`contain`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneAnchor`,type:`DeviceMockPhoneAnchor | null`,id:`param-device-mock-phone-anchor`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of `,_jsx(_components.code,{children:`top`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`bottom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBg`,type:`DeviceMockBg | null`,id:`param-device-mock-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBgCustom`,type:`string | null`,id:`param-device-mock-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`deviceMockBgLight`,type:`DeviceMockBgLight | null`,id:`param-device-mock-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBgLightCustom`,type:`string | null`,id:`param-device-mock-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`deviceMockFontOverrides`,type:`readonly DeviceMockWidgetDeviceMockFontOverridesItem[]`,id:`param-device-mock-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`DeviceMockWidgetDeviceMockFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`DeviceMockWidgetDeviceMockFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-37`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly DeviceMockWidgetDeviceMockFontOverridesItemUploadsItem[]`,id:`param-uploads-6`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`DeviceMockWidgetDeviceMockFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`DeviceMockWidgetDeviceMockFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-38`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-33`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-34`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`deviceMockCtaLabel`,type:`string`,id:`param-device-mock-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`deviceMockCtaUrl`,type:`string`,id:`param-device-mock-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`deviceMockCtaNewTab`,type:`boolean`,id:`param-device-mock-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`deviceMockCtaVariant`,type:`DeviceMockCtaVariant | null`,id:`param-device-mock-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaSize`,type:`DeviceMockCtaSize | null`,id:`param-device-mock-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaRadius`,type:`DeviceMockCtaRadius | null`,id:`param-device-mock-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaColor`,type:`string | null`,id:`param-device-mock-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`deviceMockCtaColorLight`,type:`string | null`,id:`param-device-mock-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`deviceMockCtaTextColor`,type:`string | null`,id:`param-device-mock-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`deviceMockCtaTextColorLight`,type:`string | null`,id:`param-device-mock-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaHoverColor`,type:`string | null`,id:`param-device-mock-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaHoverColorLight`,type:`string | null`,id:`param-device-mock-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaStyle`,type:`DeviceMockCtaStyle | null`,id:`param-device-mock-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaShadowColor`,type:`string | null`,id:`param-device-mock-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaShadowColorLight`,type:`string | null`,id:`param-device-mock-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaAnimation`,type:`DeviceMockCtaAnimation | null`,id:`param-device-mock-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIcon`,type:`string`,id:`param-device-mock-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIconFamily`,type:`DeviceMockCtaIconFamily | null`,id:`param-device-mock-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIconPosition`,type:`DeviceMockCtaIconPosition | null`,id:`param-device-mock-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIconNudge`,type:`boolean`,id:`param-device-mock-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-35`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`FaqWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`faq`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`FaqWidgetType`,id:`param-type-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`faq`}),`. One of `,_jsx(_components.code,{children:`faq`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-39`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqEyebrow`,type:`string`,id:`param-faq-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`faqEyebrowColor`,type:`string | null`,id:`param-faq-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`faqEyebrowColorLight`,type:`string | null`,id:`param-faq-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`faqEyebrowWeight`,type:`FaqEyebrowWeight | null`,id:`param-faq-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqEyebrowSize`,type:`FaqEyebrowSize | null`,id:`param-faq-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqHeading`,type:`string`,id:`param-faq-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the questions.`]})}),_jsx(ResponseField,{name:`faqHeadingColor`,type:`string | null`,id:`param-faq-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`faqHeadingColorLight`,type:`string | null`,id:`param-faq-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqHeadingWeight`,type:`FaqHeadingWeight | null`,id:`param-faq-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqIntro`,type:`string`,id:`param-faq-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`faqIntroColor`,type:`string | null`,id:`param-faq-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`faqIntroColorLight`,type:`string | null`,id:`param-faq-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqIntroWeight`,type:`FaqIntroWeight | null`,id:`param-faq-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqIntroSize`,type:`FaqIntroSize | null`,id:`param-faq-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAlign`,type:`FaqAlign | null`,id:`param-faq-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The Split layout always sets its header column left. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqFeaturedOnly`,type:`boolean`,id:`param-faq-featured-only`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show only questions you have flagged “Featured” in the FAQs manager — e.g. a short top-questions block on the home page, linking out to the full FAQ page.`]})}),_jsx(ResponseField,{name:`faqCount`,type:`number | null`,id:`param-faq-count`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The most questions to show, in the manager’s sort order. Raise it for a full FAQ page. 1 to 50.`]})}),_jsx(ResponseField,{name:`faqCategories`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-faq-categories`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional filter. Leave empty to show questions from every category. Manage the list under FAQ Categories. The related `,_jsx(_components.code,{children:`faq-category`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document; a document the site can’t find is left out.`]})}),_jsx(ResponseField,{name:`faqGroupBy`,type:`FaqGroupBy | null`,id:`param-faq-group-by`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. By category renders a subheading per FAQ category, in the order picked in the category filter (or, with no filter, the FAQ Categories sort order); questions without a category are listed last. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`category`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqLayout`,type:`FaqLayout | null`,id:`param-faq-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Accordion: a single centered column of collapsing questions — the classic FAQ. Split: the header (and button) sit in a left column with the accordion beside them. Two columns: the accordion flows across two columns. Open panels: every answer visible in a card grid — no collapsing. One of `,_jsx(_components.code,{children:`accordion`}),`, `,_jsx(_components.code,{children:`split`}),`, `,_jsx(_components.code,{children:`columns`}),`, `,_jsx(_components.code,{children:`panels`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqPanelColumns`,type:`FaqPanelColumns | null`,id:`param-faq-panel-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How many open panels sit per row (they stack on small screens). One of `,_jsx(_components.code,{children:`1`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqOpenMode`,type:`FaqOpenMode | null`,id:`param-faq-open-mode`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. One at a time closes the previous answer when a new one opens; Independent lets visitors hold several open. One of `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`multiple`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqFirstOpen`,type:`boolean`,id:`param-faq-first-open`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Starts the section with the first answer expanded so the block never reads as an empty list of rows.`]})}),_jsx(ResponseField,{name:`faqMarker`,type:`FaqMarker | null`,id:`param-faq-marker`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The disclosure marker on each question. Plus rotates into a close mark; Chevron flips. One of `,_jsx(_components.code,{children:`plus`}),`, `,_jsx(_components.code,{children:`chevron`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqGap`,type:`FaqGap | null`,id:`param-faq-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Space between questions. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqSchema`,type:`boolean`,id:`param-faq-schema`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds this section’s questions to the page’s schema.org FAQPage markup so search engines can read them (all FAQ sections on a page share one FAQPage block). Costs nothing when on; turn off only to exclude these questions.`]})}),_jsx(ResponseField,{name:`faqCardStyle`,type:`FaqCardStyle | null`,id:`param-faq-card-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The question-row treatment. Plain (the default) is the classic divided list — hairlines between questions. Any other style turns each question into a card: Raised is a quiet lit card, Outline a framed row, Luxe frosted glass; Ticket/Bracket/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardStyleRadius`,type:`FaqCardStyleRadius | null`,id:`param-faq-card-style-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardStyleAccentColor`,type:`string | null`,id:`param-faq-card-style-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`faqCardStyleAccentColorLight`,type:`string | null`,id:`param-faq-card-style-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqCardStyleForgeScope`,type:`FaqCardStyleForgeScope | null`,id:`param-faq-card-style-forge-scope`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardStyleForgeWeight`,type:`FaqCardStyleForgeWeight | null`,id:`param-faq-card-style-forge-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardHover`,type:`FaqCardHover | null`,id:`param-faq-card-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a question row does on hover. None (the default) keeps the accordion calm — the open/close motion is the interaction. The card effects (Lift/Glow/…) suit the card styles; the cursor-tracked ones need site animations on. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAccentColor`,type:`string | null`,id:`param-faq-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — colors the toggle icon and the open question’s highlight. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`faqAccentColorLight`,type:`string | null`,id:`param-faq-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqQuestionSize`,type:`FaqQuestionSize | null`,id:`param-faq-question-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Question size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqQuestionWeight`,type:`FaqQuestionWeight | null`,id:`param-faq-question-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Question weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqQuestionColor`,type:`string | null`,id:`param-faq-question-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`faqQuestionColorLight`,type:`string | null`,id:`param-faq-question-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqAnswerSize`,type:`FaqAnswerSize | null`,id:`param-faq-answer-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Answer size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAnswerWeight`,type:`FaqAnswerWeight | null`,id:`param-faq-answer-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Answer weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAnswerColor`,type:`string | null`,id:`param-faq-answer-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`faqAnswerColorLight`,type:`string | null`,id:`param-faq-answer-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqGroupHeadingWeight`,type:`FaqGroupHeadingWeight | null`,id:`param-faq-group-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Category heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqGroupHeadingColor`,type:`string | null`,id:`param-faq-group-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`faqGroupHeadingColorLight`,type:`string | null`,id:`param-faq-group-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqBg`,type:`FaqBg | null`,id:`param-faq-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqBgCustom`,type:`string | null`,id:`param-faq-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`faqBgLight`,type:`FaqBgLight | null`,id:`param-faq-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqBgLightCustom`,type:`string | null`,id:`param-faq-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`faqFontOverrides`,type:`readonly FaqWidgetFaqFontOverridesItem[]`,id:`param-faq-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FaqWidgetFaqFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`FaqWidgetFaqFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-40`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly FaqWidgetFaqFontOverridesItemUploadsItem[]`,id:`param-uploads-7`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FaqWidgetFaqFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`FaqWidgetFaqFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-41`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-36`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-37`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`faqCtaLabel`,type:`string`,id:`param-faq-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`faqCtaUrl`,type:`string`,id:`param-faq-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`faqCtaNewTab`,type:`boolean`,id:`param-faq-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`faqCtaVariant`,type:`FaqCtaVariant | null`,id:`param-faq-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaSize`,type:`FaqCtaSize | null`,id:`param-faq-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaRadius`,type:`FaqCtaRadius | null`,id:`param-faq-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaColor`,type:`string | null`,id:`param-faq-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`faqCtaColorLight`,type:`string | null`,id:`param-faq-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`faqCtaTextColor`,type:`string | null`,id:`param-faq-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`faqCtaTextColorLight`,type:`string | null`,id:`param-faq-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`faqCtaHoverColor`,type:`string | null`,id:`param-faq-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`faqCtaHoverColorLight`,type:`string | null`,id:`param-faq-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`faqCtaStyle`,type:`FaqCtaStyle | null`,id:`param-faq-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaShadowColor`,type:`string | null`,id:`param-faq-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`faqCtaShadowColorLight`,type:`string | null`,id:`param-faq-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`faqCtaAnimation`,type:`FaqCtaAnimation | null`,id:`param-faq-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaIcon`,type:`string`,id:`param-faq-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`faqCtaIconFamily`,type:`FaqCtaIconFamily | null`,id:`param-faq-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaIconPosition`,type:`FaqCtaIconPosition | null`,id:`param-faq-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaIconNudge`,type:`boolean`,id:`param-faq-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-38`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]})]}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-39`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsxs(ResponseField,{name:`afterContent`,type:`AfterContentArea`,id:`param-after-content`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. An `,_jsx(_components.code,{children:`AfterContentArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area.`]}),_jsxs(Expandable,{title:`AfterContentArea`,children:[_jsx(ResponseField,{name:`metaType`,type:`AfterContentAreaMetaType`,id:`param-meta-type-18`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`area`}),`. One of `,_jsx(_components.code,{children:`area`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-42`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The area’s id, set by the site: leave it out when you write one.`]})}),_jsxs(ResponseField,{name:`items`,type:`readonly AfterContentAreaItem[]`,id:`param-items-4`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`AfterContentAreaItem`}),`. The widgets, top to bottom. Each is an object with its `,_jsx(_components.code,{children:`type`}),` and that widget’s own fields; `,_jsx(_components.code,{children:`_id`}),` and `,_jsx(_components.code,{children:`metaType`}),` may be left out (the site sets them).`]}),_jsxs(Expandable,{title:`AfterContentAreaItem`,children:[_jsxs(_components.p,{children:[`A widget in an area that takes `,_jsx(_components.code,{children:`@apostrophecms/layout`}),`, `,_jsx(_components.code,{children:`intro`}),`, `,_jsx(_components.code,{children:`feature`}),`, `,_jsx(_components.code,{children:`stats`}),`, `,_jsx(_components.code,{children:`logos`}),`, `,_jsx(_components.code,{children:`steps`}),`, `,_jsx(_components.code,{children:`media-text`}),`, `,_jsx(_components.code,{children:`device-mock`}),`, `,_jsx(_components.code,{children:`team`}),`, `,_jsx(_components.code,{children:`faq`}),`, `,_jsx(_components.code,{children:`service-map`}),`, `,_jsx(_components.code,{children:`blog-preview`}),`, `,_jsx(_components.code,{children:`cookie-declaration`}),`, `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`, `,_jsx(_components.code,{children:`pricing`}),`, `,_jsx(_components.code,{children:`newsletter`}),`, `,_jsx(_components.code,{children:`sms-signup`}),`, `,_jsx(_components.code,{children:`form-render`}),`, `,_jsx(_components.code,{children:`final-cta`}),`: the one its `,_jsx(_components.code,{children:`type`}),` names.`]}),_jsxs(Expandable,{title:`LayoutWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/layout`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`LayoutWidgetType`,id:`param-type-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/layout`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/layout`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-43`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-19`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`columns`,type:`LayoutColumnArea`,id:`param-columns-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A `,_jsx(_components.code,{children:`LayoutColumnArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area. Its fields are listed under the first `,_jsx(_components.code,{children:`LayoutColumnArea`}),` above.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-40`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`IntroWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`intro`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`IntroWidgetType`,id:`param-type-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`intro`}),`. One of `,_jsx(_components.code,{children:`intro`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-44`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-20`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introEyebrow`,type:`string`,id:`param-intro-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`introEyebrowColor`,type:`string | null`,id:`param-intro-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`introEyebrowColorLight`,type:`string | null`,id:`param-intro-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`introEyebrowWeight`,type:`IntroEyebrowWeight | null`,id:`param-intro-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introEyebrowSize`,type:`IntroEyebrowSize | null`,id:`param-intro-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introHeadline`,type:`string`,id:`param-intro-headline-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Headline.`]})}),_jsx(ResponseField,{name:`introHeadlineColor`,type:`string | null`,id:`param-intro-headline-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the headline color. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`introHeadlineColorLight`,type:`string | null`,id:`param-intro-headline-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`introHeadlineWeight`,type:`IntroHeadlineWeight | null`,id:`param-intro-headline-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Headline weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introBody`,type:`string`,id:`param-intro-body-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Body copy.`]})}),_jsx(ResponseField,{name:`introBodyColor`,type:`string | null`,id:`param-intro-body-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the body text color. Leave empty for the muted default.`]})}),_jsx(ResponseField,{name:`introBodyColorLight`,type:`string | null`,id:`param-intro-body-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the muted default.`]})}),_jsx(ResponseField,{name:`introBodyWeight`,type:`IntroBodyWeight | null`,id:`param-intro-body-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoPlacement`,type:`IntroPhotoPlacement | null`,id:`param-intro-photo-placement-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the optional photo sits. Left/right place it beside the text; Full background fills the whole section behind the text (with a readability overlay). One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`, `,_jsx(_components.code,{children:`background`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introImage`,type:`ImageArea`,id:`param-intro-image-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. An `,_jsx(_components.code,{children:`ImageArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area. Its fields are listed under the first `,_jsx(_components.code,{children:`ImageArea`}),` above.`]})}),_jsx(ResponseField,{name:`introPhotoCorners`,type:`IntroPhotoCorners | null`,id:`param-intro-photo-corners-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Photo corners. One of `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`squared`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoFrame`,type:`IntroPhotoFrame | null`,id:`param-intro-photo-frame-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border draws a frame around the photo; Offset adds a refined offset accent frame behind it. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`offset`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoFrameColor`,type:`string | null`,id:`param-intro-photo-frame-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / offset-frame color. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`introPhotoTilt`,type:`IntroPhotoTilt | null`,id:`param-intro-photo-tilt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A slight rotation for a more playful look. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoHover`,type:`IntroPhotoHover | null`,id:`param-intro-photo-hover-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Photo hover effect. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`zoom`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`lift-glow`}),`, `,_jsx(_components.code,{children:`zoom-glow`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introOverlayColor`,type:`string | null`,id:`param-intro-overlay-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Scrim behind the text over a full-background photo. Leave empty to use the dark surface color.`]})}),_jsx(ResponseField,{name:`introOverlayColorLight`,type:`string | null`,id:`param-intro-overlay-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme overlay, then the light surface color.`]})}),_jsx(ResponseField,{name:`introOverlayOpacity`,type:`number | null`,id:`param-intro-overlay-opacity-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Overlay opacity (%). 0 to 100.`]})}),_jsx(ResponseField,{name:`introBg`,type:`IntroBg | null`,id:`param-intro-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introBgCustom`,type:`string | null`,id:`param-intro-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`introBgLight`,type:`IntroBgLight | null`,id:`param-intro-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introBgLightCustom`,type:`string | null`,id:`param-intro-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`introFontOverrides`,type:`readonly IntroWidgetIntroFontOverridesItem[]`,id:`param-intro-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`IntroWidgetIntroFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`IntroWidgetIntroFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-41`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`FeatureWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`feature`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`FeatureWidgetType`,id:`param-type-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`feature`}),`. One of `,_jsx(_components.code,{children:`feature`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-45`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-21`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureColumns`,type:`FeatureColumns | null`,id:`param-feature-columns-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of cards. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureGap`,type:`FeatureGap | null`,id:`param-feature-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between cards. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardSize`,type:`FeatureCardSize | null`,id:`param-feature-card-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Scales padding, icon, title, and the index numeral together. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyle`,type:`FeatureCardStyle | null`,id:`param-feature-card-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The card treatment. Poster (the default) frames the card with an accent keyline; Raised is a quiet lit card; Luxe a frosted glass panel; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyleRadius`,type:`FeatureCardStyleRadius | null`,id:`param-feature-card-style-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyleAccentColor`,type:`string | null`,id:`param-feature-card-style-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`featureCardStyleAccentColorLight`,type:`string | null`,id:`param-feature-card-style-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`featureCardStyleForgeScope`,type:`FeatureCardStyleForgeScope | null`,id:`param-feature-card-style-forge-scope-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyleForgeWeight`,type:`FeatureCardStyleForgeWeight | null`,id:`param-feature-card-style-forge-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardHover`,type:`FeatureCardHover | null`,id:`param-feature-card-hover-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How a card reacts on hover. Pop is the lift + hard offset shadow; Glow is a soft accent halo. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardHoverColor`,type:`string | null`,id:`param-feature-card-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / shadow / glow color on hover. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`featureCardHoverColorLight`,type:`string | null`,id:`param-feature-card-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`featureNumbering`,type:`boolean`,id:`param-feature-numbering-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A big outlined numeral on each card (01, 02, …). Great for step-by-step sequences; turn off when the cards aren’t ordered.`]})}),_jsx(ResponseField,{name:`featureNumberFill`,type:`FeatureNumberFill | null`,id:`param-feature-number-fill-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Same treatment as the hero ghost text: all numbers solid, outlined and filling on hover, or always outlined. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`hover`}),`, `,_jsx(_components.code,{children:`outline`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureNumberColor`,type:`string | null`,id:`param-feature-number-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Tints the numeral fill + outline. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`featureNumberColorLight`,type:`string | null`,id:`param-feature-number-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`featureTitleColor`,type:`string | null`,id:`param-feature-title-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the card title color. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`featureTitleColorLight`,type:`string | null`,id:`param-feature-title-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`featureTitleWeight`,type:`FeatureTitleWeight | null`,id:`param-feature-title-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureTextColor`,type:`string | null`,id:`param-feature-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the card text color. Leave empty for the muted default.`]})}),_jsx(ResponseField,{name:`featureTextColorLight`,type:`string | null`,id:`param-feature-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the muted default.`]})}),_jsx(ResponseField,{name:`featureTextWeight`,type:`FeatureTextWeight | null`,id:`param-feature-text-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Text weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCards`,type:`readonly FeatureWidgetFeatureCardsItem[]`,id:`param-feature-cards-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FeatureWidgetFeatureCardsItem`}),`. Feature cards. Its fields are listed under the first `,_jsx(_components.code,{children:`FeatureWidgetFeatureCardsItem`}),` above.`]})}),_jsx(ResponseField,{name:`featureBg`,type:`FeatureBg | null`,id:`param-feature-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureBgCustom`,type:`string | null`,id:`param-feature-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`featureBgLight`,type:`FeatureBgLight | null`,id:`param-feature-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureBgLightCustom`,type:`string | null`,id:`param-feature-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`featureFontOverrides`,type:`readonly FeatureWidgetFeatureFontOverridesItem[]`,id:`param-feature-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FeatureWidgetFeatureFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`FeatureWidgetFeatureFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-42`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`StatsWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`stats`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`StatsWidgetType`,id:`param-type-18`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`stats`}),`. One of `,_jsx(_components.code,{children:`stats`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-46`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-22`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsEyebrowEnabled`,type:`boolean`,id:`param-stats-eyebrow-enabled-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “By the numbers”).`]})}),_jsx(ResponseField,{name:`statsEyebrow`,type:`string`,id:`param-stats-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`statsEyebrowColor`,type:`string | null`,id:`param-stats-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`statsEyebrowColorLight`,type:`string | null`,id:`param-stats-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`statsEyebrowWeight`,type:`StatsEyebrowWeight | null`,id:`param-stats-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsEyebrowSize`,type:`StatsEyebrowSize | null`,id:`param-stats-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsHeading`,type:`string`,id:`param-stats-heading-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the numbers.`]})}),_jsx(ResponseField,{name:`statsHeadingColor`,type:`string | null`,id:`param-stats-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`statsHeadingColorLight`,type:`string | null`,id:`param-stats-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`statsHeadingWeight`,type:`StatsHeadingWeight | null`,id:`param-stats-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsColumns`,type:`StatsColumns | null`,id:`param-stats-columns-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of stats. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsGap`,type:`StatsGap | null`,id:`param-stats-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between stats. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsSize`,type:`StatsSize | null`,id:`param-stats-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The baseline scale for the whole stat (value / icon / label / description stay proportional). Fine-tune any single element with its own size control below. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsAlign`,type:`StatsAlign | null`,id:`param-stats-align-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Alignment. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsDividers`,type:`boolean`,id:`param-stats-dividers-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A hairline rule between each stat — the classic “by the numbers” rail.`]})}),_jsx(ResponseField,{name:`statsCountUp`,type:`boolean`,id:`param-stats-count-up-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Numbers tick up from zero when the band scrolls into view. Non-numeric values and reduced-motion visitors simply show the final value.`]})}),_jsx(ResponseField,{name:`statsIconSize`,type:`StatsIconSize | null`,id:`param-stats-icon-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of the icon above each number, independent of the overall stat size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`, `,_jsx(_components.code,{children:`xxl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsIconGap`,type:`StatsIconGap | null`,id:`param-stats-icon-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Space between the icon and the number below it. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsValueSize`,type:`StatsValueSize | null`,id:`param-stats-value-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Value size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`xs`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsValueWeight`,type:`StatsValueWeight | null`,id:`param-stats-value-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Value weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsValueColor`,type:`string | null`,id:`param-stats-value-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The big numeral. Optional — leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`statsValueColorLight`,type:`string | null`,id:`param-stats-value-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`statsLabelSize`,type:`StatsLabelSize | null`,id:`param-stats-label-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Label size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`xs`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsLabelWeight`,type:`StatsLabelWeight | null`,id:`param-stats-label-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Label weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsLabelColor`,type:`string | null`,id:`param-stats-label-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`statsLabelColorLight`,type:`string | null`,id:`param-stats-label-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`statsDescriptionSize`,type:`StatsDescriptionSize | null`,id:`param-stats-description-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Description size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`xs`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsDescriptionWeight`,type:`StatsDescriptionWeight | null`,id:`param-stats-description-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Description weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsDescriptionColor`,type:`string | null`,id:`param-stats-description-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`statsDescriptionColorLight`,type:`string | null`,id:`param-stats-description-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stats`,type:`readonly StatsWidgetStatsItem[]`,id:`param-stats-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StatsWidgetStatsItem`}),`. Stats. Its fields are listed under the first `,_jsx(_components.code,{children:`StatsWidgetStatsItem`}),` above.`]})}),_jsx(ResponseField,{name:`statsBg`,type:`StatsBg | null`,id:`param-stats-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsBgCustom`,type:`string | null`,id:`param-stats-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`statsBgLight`,type:`StatsBgLight | null`,id:`param-stats-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsBgLightCustom`,type:`string | null`,id:`param-stats-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`statsFontOverrides`,type:`readonly StatsWidgetStatsFontOverridesItem[]`,id:`param-stats-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StatsWidgetStatsFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`StatsWidgetStatsFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`statsCtaLabel`,type:`string`,id:`param-stats-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`statsCtaUrl`,type:`string`,id:`param-stats-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`statsCtaNewTab`,type:`boolean`,id:`param-stats-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`statsCtaVariant`,type:`StatsCtaVariant | null`,id:`param-stats-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaSize`,type:`StatsCtaSize | null`,id:`param-stats-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaRadius`,type:`StatsCtaRadius | null`,id:`param-stats-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaColor`,type:`string | null`,id:`param-stats-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`statsCtaColorLight`,type:`string | null`,id:`param-stats-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`statsCtaTextColor`,type:`string | null`,id:`param-stats-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`statsCtaTextColorLight`,type:`string | null`,id:`param-stats-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`statsCtaHoverColor`,type:`string | null`,id:`param-stats-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`statsCtaHoverColorLight`,type:`string | null`,id:`param-stats-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`statsCtaStyle`,type:`StatsCtaStyle | null`,id:`param-stats-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaShadowColor`,type:`string | null`,id:`param-stats-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`statsCtaShadowColorLight`,type:`string | null`,id:`param-stats-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`statsCtaAnimation`,type:`StatsCtaAnimation | null`,id:`param-stats-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaIcon`,type:`string`,id:`param-stats-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`statsCtaIconFamily`,type:`StatsCtaIconFamily | null`,id:`param-stats-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaIconPosition`,type:`StatsCtaIconPosition | null`,id:`param-stats-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaIconNudge`,type:`boolean`,id:`param-stats-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-43`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`LogosWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`logos`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`LogosWidgetType`,id:`param-type-19`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`logos`}),`. One of `,_jsx(_components.code,{children:`logos`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-47`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-23`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosEyebrowEnabled`,type:`boolean`,id:`param-logos-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “Trusted by”).`]})}),_jsx(ResponseField,{name:`logosEyebrow`,type:`string`,id:`param-logos-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`logosEyebrowColor`,type:`string | null`,id:`param-logos-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`logosEyebrowColorLight`,type:`string | null`,id:`param-logos-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`logosEyebrowWeight`,type:`LogosEyebrowWeight | null`,id:`param-logos-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosEyebrowSize`,type:`LogosEyebrowSize | null`,id:`param-logos-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosHeading`,type:`string`,id:`param-logos-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the logos.`]})}),_jsx(ResponseField,{name:`logosHeadingColor`,type:`string | null`,id:`param-logos-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`logosHeadingColorLight`,type:`string | null`,id:`param-logos-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`logosHeadingWeight`,type:`LogosHeadingWeight | null`,id:`param-logos-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosIntro`,type:`string`,id:`param-logos-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`logosIntroColor`,type:`string | null`,id:`param-logos-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`logosIntroColorLight`,type:`string | null`,id:`param-logos-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`logosIntroWeight`,type:`LogosIntroWeight | null`,id:`param-logos-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosDisplay`,type:`LogosDisplay | null`,id:`param-logos-display`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A slow scrolling ribbon (marquee) or a calm static grid. One of `,_jsx(_components.code,{children:`marquee`}),`, `,_jsx(_components.code,{children:`grid`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosSpeed`,type:`LogosSpeed | null`,id:`param-logos-speed`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marquee speed. One of `,_jsx(_components.code,{children:`slow`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`fast`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosDirection`,type:`LogosDirection | null`,id:`param-logos-direction`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marquee direction. One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosMotionPause`,type:`boolean`,id:`param-logos-motion-pause`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds a small, unobtrusive pause/play control so visitors can stop the auto-playing background motion (WCAG 2.2.2). Only appears when a moving background is set.`]})}),_jsx(ResponseField,{name:`logosColumns`,type:`LogosColumns | null`,id:`param-logos-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of logos. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`, `,_jsx(_components.code,{children:`5`}),`, `,_jsx(_components.code,{children:`6`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosGap`,type:`LogosGap | null`,id:`param-logos-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between logos. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosSize`,type:`LogosSize | null`,id:`param-logos-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The height each logo is scaled to (width follows the logo’s aspect ratio). One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosAlign`,type:`LogosAlign | null`,id:`param-logos-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aligns the eyebrow / heading / intro (and the grid when there are few logos). One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosTile`,type:`boolean`,id:`param-logos-tile`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Sets every logo on a raised, bordered card. Off = logos sit straight on the background.`]})}),_jsx(ResponseField,{name:`logosGrayscale`,type:`boolean`,id:`param-logos-grayscale`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Mutes the logos to grayscale and dims them, returning to full color on hover — the classic logo-wall look.`]})}),_jsxs(ResponseField,{name:`logos`,type:`readonly LogosWidgetLogosItem[]`,id:`param-logos`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`LogosWidgetLogosItem`}),`. Logos.`]}),_jsxs(Expandable,{title:`LogosWidgetLogosItem`,children:[_jsx(ResponseField,{name:`image`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-image-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Pick a logo from the Images library. A transparent PNG or an SVG works best. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`name`,type:`string`,id:`param-name-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Company / partner / certification name — used as the image alt text and the link title.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-48`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`linkUrl`,type:`string`,id:`param-link-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Make this logo a link, e.g. to the partner’s site. Opens in a new tab for external URLs.`]})}),_jsx(ResponseField,{name:`invertDark`,type:`boolean`,id:`param-invert-dark`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. For dark / black logos that would vanish on the dark theme — flips them to light. Leave off for full-color or white logos.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-44`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`logosBg`,type:`LogosBg | null`,id:`param-logos-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosBgCustom`,type:`string | null`,id:`param-logos-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`logosBgLight`,type:`LogosBgLight | null`,id:`param-logos-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosBgLightCustom`,type:`string | null`,id:`param-logos-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`logosFontOverrides`,type:`readonly LogosWidgetLogosFontOverridesItem[]`,id:`param-logos-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`LogosWidgetLogosFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`LogosWidgetLogosFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-49`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly LogosWidgetLogosFontOverridesItemUploadsItem[]`,id:`param-uploads-8`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`LogosWidgetLogosFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`LogosWidgetLogosFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-50`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-45`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-46`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`logosCtaLabel`,type:`string`,id:`param-logos-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`logosCtaUrl`,type:`string`,id:`param-logos-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`logosCtaNewTab`,type:`boolean`,id:`param-logos-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`logosCtaVariant`,type:`LogosCtaVariant | null`,id:`param-logos-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaSize`,type:`LogosCtaSize | null`,id:`param-logos-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaRadius`,type:`LogosCtaRadius | null`,id:`param-logos-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaColor`,type:`string | null`,id:`param-logos-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`logosCtaColorLight`,type:`string | null`,id:`param-logos-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`logosCtaTextColor`,type:`string | null`,id:`param-logos-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`logosCtaTextColorLight`,type:`string | null`,id:`param-logos-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`logosCtaHoverColor`,type:`string | null`,id:`param-logos-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`logosCtaHoverColorLight`,type:`string | null`,id:`param-logos-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`logosCtaStyle`,type:`LogosCtaStyle | null`,id:`param-logos-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaShadowColor`,type:`string | null`,id:`param-logos-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`logosCtaShadowColorLight`,type:`string | null`,id:`param-logos-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`logosCtaAnimation`,type:`LogosCtaAnimation | null`,id:`param-logos-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaIcon`,type:`string`,id:`param-logos-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`logosCtaIconFamily`,type:`LogosCtaIconFamily | null`,id:`param-logos-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaIconPosition`,type:`LogosCtaIconPosition | null`,id:`param-logos-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaIconNudge`,type:`boolean`,id:`param-logos-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-47`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`StepsWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`steps`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`StepsWidgetType`,id:`param-type-20`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`steps`}),`. One of `,_jsx(_components.code,{children:`steps`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-51`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-24`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsEyebrowEnabled`,type:`boolean`,id:`param-steps-eyebrow-enabled-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “How it works”).`]})}),_jsx(ResponseField,{name:`stepsEyebrow`,type:`string`,id:`param-steps-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`stepsEyebrowColor`,type:`string | null`,id:`param-steps-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`stepsEyebrowColorLight`,type:`string | null`,id:`param-steps-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsEyebrowWeight`,type:`StepsEyebrowWeight | null`,id:`param-steps-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsEyebrowSize`,type:`StepsEyebrowSize | null`,id:`param-steps-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsHeading`,type:`string`,id:`param-steps-heading-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the steps.`]})}),_jsx(ResponseField,{name:`stepsHeadingColor`,type:`string | null`,id:`param-steps-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`stepsHeadingColorLight`,type:`string | null`,id:`param-steps-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsHeadingWeight`,type:`StepsHeadingWeight | null`,id:`param-steps-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsHeadingSize`,type:`StepsHeadingSize | null`,id:`param-steps-heading-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsIntro`,type:`string`,id:`param-steps-intro-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`stepsIntroColor`,type:`string | null`,id:`param-steps-intro-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`stepsIntroColorLight`,type:`string | null`,id:`param-steps-intro-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsIntroWeight`,type:`StepsIntroWeight | null`,id:`param-steps-intro-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsIntroSize`,type:`StepsIntroSize | null`,id:`param-steps-intro-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsLayout`,type:`StepsLayout | null`,id:`param-steps-layout-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal lays the steps across a row (marker on top); Vertical stacks them as a classic timeline (marker on the left). One of `,_jsx(_components.code,{children:`horizontal`}),`, `,_jsx(_components.code,{children:`vertical`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsColumns`,type:`StepsColumns | null`,id:`param-steps-columns-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal only. Auto fits as many as comfortably fit and works for any number of steps. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsGap`,type:`StepsGap | null`,id:`param-steps-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between steps. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsAlign`,type:`StepsAlign | null`,id:`param-steps-align-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal only — aligns the section header and each step’s text. (Vertical is always left-aligned beside its marker.) One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsConnector`,type:`boolean`,id:`param-steps-connector-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A line linking the step markers into a timeline (down the markers when vertical, across them when horizontal).`]})}),_jsx(ResponseField,{name:`stepsCardStyle`,type:`StepsCardStyle | null`,id:`param-steps-card-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Plain keeps the connector-linked timeline (just marker + text, no card). Every other style boxes each step — Raised is a quiet lit card, Luxe a frosted glass panel, Outline a plaque frame, Spine adds a color rail, Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardStyleRadius`,type:`StepsCardStyleRadius | null`,id:`param-steps-card-style-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardStyleAccentColor`,type:`string | null`,id:`param-steps-card-style-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`stepsCardStyleAccentColorLight`,type:`string | null`,id:`param-steps-card-style-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsCardStyleForgeScope`,type:`StepsCardStyleForgeScope | null`,id:`param-steps-card-style-forge-scope-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardStyleForgeWeight`,type:`StepsCardStyleForgeWeight | null`,id:`param-steps-card-style-forge-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardHover`,type:`StepsCardHover | null`,id:`param-steps-card-hover-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a boxed step does on hover (applies when Step style is not Plain). Lift/Pop/Press/Glow/Outline are instant; Sheen sweeps a light across; Tilt, Magnetic and Spotlight follow the cursor (need site animations on). One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarker`,type:`StepsMarker | null`,id:`param-steps-marker-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Number auto-counts 1, 2, 3…; Icon shows each step’s icon (falling back to the number when a step has none); None hides the marker badge. One of `,_jsx(_components.code,{children:`number`}),`, `,_jsx(_components.code,{children:`icon`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarkerStyle`,type:`StepsMarkerStyle | null`,id:`param-steps-marker-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Soft is a tinted accent badge; Filled is a solid accent badge; Outline is a bordered badge. One of `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`filled`}),`, `,_jsx(_components.code,{children:`outline`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarkerShape`,type:`StepsMarkerShape | null`,id:`param-steps-marker-shape-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marker shape. One of `,_jsx(_components.code,{children:`circle`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarkerSize`,type:`StepsMarkerSize | null`,id:`param-steps-marker-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marker size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsAccentColor`,type:`string | null`,id:`param-steps-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Color for the marker badge and the connector line. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`stepsAccentColorLight`,type:`string | null`,id:`param-steps-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme accent.`]})}),_jsx(ResponseField,{name:`stepsTitleSize`,type:`StepsTitleSize | null`,id:`param-steps-title-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsTitleWeight`,type:`StepsTitleWeight | null`,id:`param-steps-title-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsTitleColor`,type:`string | null`,id:`param-steps-title-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`stepsTitleColorLight`,type:`string | null`,id:`param-steps-title-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsBodySize`,type:`StepsBodySize | null`,id:`param-steps-body-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBodyWeight`,type:`StepsBodyWeight | null`,id:`param-steps-body-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBodyColor`,type:`string | null`,id:`param-steps-body-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`stepsBodyColorLight`,type:`string | null`,id:`param-steps-body-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsItems`,type:`readonly StepsWidgetStepsItemsItem[]`,id:`param-steps-items-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StepsWidgetStepsItemsItem`}),`. Each item is one step in the process. They render in this order; the number marker counts automatically. Its fields are listed under the first `,_jsx(_components.code,{children:`StepsWidgetStepsItemsItem`}),` above.`]})}),_jsx(ResponseField,{name:`stepsBg`,type:`StepsBg | null`,id:`param-steps-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBgCustom`,type:`string | null`,id:`param-steps-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`stepsBgLight`,type:`StepsBgLight | null`,id:`param-steps-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBgLightCustom`,type:`string | null`,id:`param-steps-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`stepsFontOverrides`,type:`readonly StepsWidgetStepsFontOverridesItem[]`,id:`param-steps-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StepsWidgetStepsFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`StepsWidgetStepsFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`stepsCtaLabel`,type:`string`,id:`param-steps-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`stepsCtaUrl`,type:`string`,id:`param-steps-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`stepsCtaNewTab`,type:`boolean`,id:`param-steps-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`stepsCtaVariant`,type:`StepsCtaVariant | null`,id:`param-steps-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaSize`,type:`StepsCtaSize | null`,id:`param-steps-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaRadius`,type:`StepsCtaRadius | null`,id:`param-steps-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaColor`,type:`string | null`,id:`param-steps-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`stepsCtaColorLight`,type:`string | null`,id:`param-steps-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`stepsCtaTextColor`,type:`string | null`,id:`param-steps-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`stepsCtaTextColorLight`,type:`string | null`,id:`param-steps-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`stepsCtaHoverColor`,type:`string | null`,id:`param-steps-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`stepsCtaHoverColorLight`,type:`string | null`,id:`param-steps-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`stepsCtaStyle`,type:`StepsCtaStyle | null`,id:`param-steps-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaShadowColor`,type:`string | null`,id:`param-steps-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`stepsCtaShadowColorLight`,type:`string | null`,id:`param-steps-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`stepsCtaAnimation`,type:`StepsCtaAnimation | null`,id:`param-steps-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaIcon`,type:`string`,id:`param-steps-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`stepsCtaIconFamily`,type:`StepsCtaIconFamily | null`,id:`param-steps-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaIconPosition`,type:`StepsCtaIconPosition | null`,id:`param-steps-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaIconNudge`,type:`boolean`,id:`param-steps-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-18`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-48`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`MediaTextWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`media-text`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`MediaTextWidgetType`,id:`param-type-21`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`media-text`}),`. One of `,_jsx(_components.code,{children:`media-text`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-52`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-25`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowEnabled`,type:`boolean`,id:`param-media-text-eyebrow-enabled-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the section heading (e.g. “Why us”).`]})}),_jsx(ResponseField,{name:`mediaTextEyebrow`,type:`string`,id:`param-media-text-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowColor`,type:`string | null`,id:`param-media-text-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowColorLight`,type:`string | null`,id:`param-media-text-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowWeight`,type:`MediaTextEyebrowWeight | null`,id:`param-media-text-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowSize`,type:`MediaTextEyebrowSize | null`,id:`param-media-text-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextHeading`,type:`string`,id:`param-media-text-heading-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional section heading above the blocks. Leave empty to show just the blocks.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingColor`,type:`string | null`,id:`param-media-text-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingColorLight`,type:`string | null`,id:`param-media-text-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingWeight`,type:`MediaTextHeadingWeight | null`,id:`param-media-text-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingSize`,type:`MediaTextHeadingSize | null`,id:`param-media-text-heading-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextIntro`,type:`string`,id:`param-media-text-intro-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`mediaTextIntroColor`,type:`string | null`,id:`param-media-text-intro-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`mediaTextIntroColorLight`,type:`string | null`,id:`param-media-text-intro-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextIntroWeight`,type:`MediaTextIntroWeight | null`,id:`param-media-text-intro-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextIntroSize`,type:`MediaTextIntroSize | null`,id:`param-media-text-intro-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextAlign`,type:`MediaTextAlign | null`,id:`param-media-text-align-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aligns the section header and the text inside each block. (Side-by-side rows usually read best left-aligned.) One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`center`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextRatio`,type:`MediaTextRatio | null`,id:`param-media-text-ratio-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. For media-left / media-right rows: how the two columns share the width. One of `,_jsx(_components.code,{children:`balanced`}),`, `,_jsx(_components.code,{children:`media`}),`, `,_jsx(_components.code,{children:`text`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextVAlign`,type:`MediaTextVAlign | null`,id:`param-media-text-v-align-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. For media-left / media-right rows: how the text lines up against the media. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`top`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextMediaRatio`,type:`MediaTextMediaRatio | null`,id:`param-media-text-media-ratio-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aspect ratio of the media frame. Auto keeps an image at its natural shape (videos and embeds always use a ratio). One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`landscape`}),`, `,_jsx(_components.code,{children:`standard`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`portrait`}),`, `,_jsx(_components.code,{children:`wide`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextMediaRadius`,type:`MediaTextMediaRadius | null`,id:`param-media-text-media-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Media corners. One of `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextGap`,type:`MediaTextGap | null`,id:`param-media-text-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between blocks. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextDividers`,type:`boolean`,id:`param-media-text-dividers-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A hairline rule between blocks.`]})}),_jsx(ResponseField,{name:`mediaTextBlockEyebrowColor`,type:`string | null`,id:`param-media-text-block-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Each block’s eyebrow color. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockEyebrowColorLight`,type:`string | null`,id:`param-media-text-block-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockEyebrowWeight`,type:`MediaTextBlockEyebrowWeight | null`,id:`param-media-text-block-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingColor`,type:`string | null`,id:`param-media-text-block-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingColorLight`,type:`string | null`,id:`param-media-text-block-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingWeight`,type:`MediaTextBlockHeadingWeight | null`,id:`param-media-text-block-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingSize`,type:`MediaTextBlockHeadingSize | null`,id:`param-media-text-block-heading-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBodyColor`,type:`string | null`,id:`param-media-text-body-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`mediaTextBodyColorLight`,type:`string | null`,id:`param-media-text-body-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextBodyWeight`,type:`MediaTextBodyWeight | null`,id:`param-media-text-body-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBodySize`,type:`MediaTextBodySize | null`,id:`param-media-text-body-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block body size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBlocks`,type:`readonly MediaTextWidgetMediaTextBlocksItem[]`,id:`param-media-text-blocks-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextBlocksItem`}),`. Each block is one media + text row. They render top to bottom in this order; alternate “Media left” / “Media right” for a classic zig-zag. Its fields are listed under the first `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextBlocksItem`}),` above.`]})}),_jsx(ResponseField,{name:`mediaTextBg`,type:`MediaTextBg | null`,id:`param-media-text-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBgCustom`,type:`string | null`,id:`param-media-text-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`mediaTextBgLight`,type:`MediaTextBgLight | null`,id:`param-media-text-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBgLightCustom`,type:`string | null`,id:`param-media-text-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`mediaTextFontOverrides`,type:`readonly MediaTextWidgetMediaTextFontOverridesItem[]`,id:`param-media-text-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`mediaTextCtaVariant`,type:`MediaTextCtaVariant | null`,id:`param-media-text-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaSize`,type:`MediaTextCtaSize | null`,id:`param-media-text-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaRadius`,type:`MediaTextCtaRadius | null`,id:`param-media-text-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaColor`,type:`string | null`,id:`param-media-text-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`mediaTextCtaColorLight`,type:`string | null`,id:`param-media-text-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`mediaTextCtaTextColor`,type:`string | null`,id:`param-media-text-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`mediaTextCtaTextColorLight`,type:`string | null`,id:`param-media-text-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaHoverColor`,type:`string | null`,id:`param-media-text-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaHoverColorLight`,type:`string | null`,id:`param-media-text-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaStyle`,type:`MediaTextCtaStyle | null`,id:`param-media-text-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaShadowColor`,type:`string | null`,id:`param-media-text-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaShadowColorLight`,type:`string | null`,id:`param-media-text-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaAnimation`,type:`MediaTextCtaAnimation | null`,id:`param-media-text-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIcon`,type:`string`,id:`param-media-text-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIconFamily`,type:`MediaTextCtaIconFamily | null`,id:`param-media-text-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIconPosition`,type:`MediaTextCtaIconPosition | null`,id:`param-media-text-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIconNudge`,type:`boolean`,id:`param-media-text-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-19`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-49`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`DeviceMockWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`device-mock`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`DeviceMockWidgetType`,id:`param-type-22`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`device-mock`}),`. One of `,_jsx(_components.code,{children:`device-mock`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-53`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-26`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockArrangement`,type:`DeviceMockArrangement | null`,id:`param-device-mock-arrangement-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which devices to show. Duo overlaps a phone on the corner of a desktop browser; Trio adds a TV behind them (on narrow screens Trio drops the TV and shows as a Duo). Each device used gets its own screen tab. One of `,_jsx(_components.code,{children:`duo`}),`, `,_jsx(_components.code,{children:`trio`}),`, `,_jsx(_components.code,{children:`desktop`}),`, `,_jsx(_components.code,{children:`phone`}),`, `,_jsx(_components.code,{children:`tv`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockTextPlacement`,type:`DeviceMockTextPlacement | null`,id:`param-device-mock-text-placement-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the eyebrow / heading / intro / button sit. Left or right puts the text in a column beside the devices (stacked above them on narrow screens); None shows the devices only. One of `,_jsx(_components.code,{children:`above`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockSize`,type:`DeviceMockSize | null`,id:`param-device-mock-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How large the devices render within the section. One of `,_jsx(_components.code,{children:`compact`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBrowserRatio`,type:`DeviceMockBrowserRatio | null`,id:`param-device-mock-browser-ratio-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The browser window’s content area. Match your desktop captures. One of `,_jsx(_components.code,{children:`16:10`}),`, `,_jsx(_components.code,{children:`16:9`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBrowserUrl`,type:`string`,id:`param-device-mock-browser-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The address shown in the browser toolbar — decoration only, not a link.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneStatusBar`,type:`boolean`,id:`param-device-mock-phone-status-bar-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds a time / signal / battery bar across the top of the phone screen. Leave off for native phone screenshots — they already include the real status bar.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneTime`,type:`string`,id:`param-device-mock-phone-time-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Status bar time.`]})}),_jsx(ResponseField,{name:`deviceMockMotionPause`,type:`boolean`,id:`param-device-mock-motion-pause-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds a small, unobtrusive pause/play control so visitors can stop the auto-playing background motion (WCAG 2.2.2). Only appears when a moving background is set.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowEnabled`,type:`boolean`,id:`param-device-mock-eyebrow-enabled-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “Product tour”).`]})}),_jsx(ResponseField,{name:`deviceMockEyebrow`,type:`string`,id:`param-device-mock-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowColor`,type:`string | null`,id:`param-device-mock-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowColorLight`,type:`string | null`,id:`param-device-mock-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowWeight`,type:`DeviceMockEyebrowWeight | null`,id:`param-device-mock-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowSize`,type:`DeviceMockEyebrowSize | null`,id:`param-device-mock-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockHeading`,type:`string`,id:`param-device-mock-heading-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the devices.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingColor`,type:`string | null`,id:`param-device-mock-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingColorLight`,type:`string | null`,id:`param-device-mock-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingWeight`,type:`DeviceMockHeadingWeight | null`,id:`param-device-mock-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingSize`,type:`DeviceMockHeadingSize | null`,id:`param-device-mock-heading-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockIntro`,type:`string`,id:`param-device-mock-intro-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short paragraph under the heading.`]})}),_jsx(ResponseField,{name:`deviceMockIntroColor`,type:`string | null`,id:`param-device-mock-intro-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`deviceMockIntroColorLight`,type:`string | null`,id:`param-device-mock-intro-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`deviceMockIntroWeight`,type:`DeviceMockIntroWeight | null`,id:`param-device-mock-intro-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockIntroSize`,type:`DeviceMockIntroSize | null`,id:`param-device-mock-intro-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCaption`,type:`string`,id:`param-device-mock-caption-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A short line shown under the devices.`]})}),_jsx(ResponseField,{name:`deviceMockTvMediaType`,type:`DeviceMockTvMediaType | null`,id:`param-device-mock-tv-media-type-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A still screenshot, or a short looping screen recording. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockTvImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-tv-image-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use a native-resolution 16:9 capture of the screen with NO device frame (the frame is drawn for you) — e.g. 1920 × 1080 or 3840 × 2160. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockTvImageAlt`,type:`string`,id:`param-device-mock-tv-image-alt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.`]})}),_jsx(ResponseField,{name:`deviceMockTvVideo`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-tv-video-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution 16:9 capture of the screen with NO device frame (the frame is drawn for you) — e.g. 1920 × 1080 or 3840 × 2160. The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockTvVideoAlt`,type:`string`,id:`param-device-mock-tv-video-alt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.`]})}),_jsx(ResponseField,{name:`deviceMockTvFit`,type:`DeviceMockTvFit | null`,id:`param-device-mock-tv-fit-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of `,_jsx(_components.code,{children:`cover`}),`, `,_jsx(_components.code,{children:`contain`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockTvAnchor`,type:`DeviceMockTvAnchor | null`,id:`param-device-mock-tv-anchor-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of `,_jsx(_components.code,{children:`top`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`bottom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopMediaType`,type:`DeviceMockDesktopMediaType | null`,id:`param-device-mock-desktop-media-type-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A still screenshot, or a short looping screen recording. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-desktop-image-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use a native-resolution capture of the page content only — no browser toolbar and no device frame (both are drawn for you). 16:10 (e.g. 2880 × 1800) or 16:9 (e.g. 2560 × 1440), matching the “Desktop screen shape” setting. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopImageAlt`,type:`string`,id:`param-device-mock-desktop-image-alt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopVideo`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-desktop-video-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution capture of the page content only — no browser toolbar and no device frame (both are drawn for you). 16:10 (e.g. 2880 × 1800) or 16:9 (e.g. 2560 × 1440), matching the “Desktop screen shape” setting. The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopVideoAlt`,type:`string`,id:`param-device-mock-desktop-video-alt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopFit`,type:`DeviceMockDesktopFit | null`,id:`param-device-mock-desktop-fit-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of `,_jsx(_components.code,{children:`cover`}),`, `,_jsx(_components.code,{children:`contain`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopAnchor`,type:`DeviceMockDesktopAnchor | null`,id:`param-device-mock-desktop-anchor-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of `,_jsx(_components.code,{children:`top`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`bottom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneMediaType`,type:`DeviceMockPhoneMediaType | null`,id:`param-device-mock-phone-media-type-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A still screenshot, or a short looping screen recording. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-phone-image-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use a native-resolution portrait screenshot with NO device frame (the frame is drawn for you) — e.g. 1179 × 2556 or 1290 × 2796 (about 9:19.5). The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneImageAlt`,type:`string`,id:`param-device-mock-phone-image-alt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneVideo`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-phone-video-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution portrait screenshot with NO device frame (the frame is drawn for you) — e.g. 1179 × 2556 or 1290 × 2796 (about 9:19.5). The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneVideoAlt`,type:`string`,id:`param-device-mock-phone-video-alt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneFit`,type:`DeviceMockPhoneFit | null`,id:`param-device-mock-phone-fit-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of `,_jsx(_components.code,{children:`cover`}),`, `,_jsx(_components.code,{children:`contain`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneAnchor`,type:`DeviceMockPhoneAnchor | null`,id:`param-device-mock-phone-anchor-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of `,_jsx(_components.code,{children:`top`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`bottom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBg`,type:`DeviceMockBg | null`,id:`param-device-mock-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBgCustom`,type:`string | null`,id:`param-device-mock-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`deviceMockBgLight`,type:`DeviceMockBgLight | null`,id:`param-device-mock-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBgLightCustom`,type:`string | null`,id:`param-device-mock-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`deviceMockFontOverrides`,type:`readonly DeviceMockWidgetDeviceMockFontOverridesItem[]`,id:`param-device-mock-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`DeviceMockWidgetDeviceMockFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`DeviceMockWidgetDeviceMockFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`deviceMockCtaLabel`,type:`string`,id:`param-device-mock-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`deviceMockCtaUrl`,type:`string`,id:`param-device-mock-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`deviceMockCtaNewTab`,type:`boolean`,id:`param-device-mock-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`deviceMockCtaVariant`,type:`DeviceMockCtaVariant | null`,id:`param-device-mock-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaSize`,type:`DeviceMockCtaSize | null`,id:`param-device-mock-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaRadius`,type:`DeviceMockCtaRadius | null`,id:`param-device-mock-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaColor`,type:`string | null`,id:`param-device-mock-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`deviceMockCtaColorLight`,type:`string | null`,id:`param-device-mock-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`deviceMockCtaTextColor`,type:`string | null`,id:`param-device-mock-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`deviceMockCtaTextColorLight`,type:`string | null`,id:`param-device-mock-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaHoverColor`,type:`string | null`,id:`param-device-mock-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaHoverColorLight`,type:`string | null`,id:`param-device-mock-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaStyle`,type:`DeviceMockCtaStyle | null`,id:`param-device-mock-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaShadowColor`,type:`string | null`,id:`param-device-mock-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaShadowColorLight`,type:`string | null`,id:`param-device-mock-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaAnimation`,type:`DeviceMockCtaAnimation | null`,id:`param-device-mock-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIcon`,type:`string`,id:`param-device-mock-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIconFamily`,type:`DeviceMockCtaIconFamily | null`,id:`param-device-mock-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIconPosition`,type:`DeviceMockCtaIconPosition | null`,id:`param-device-mock-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIconNudge`,type:`boolean`,id:`param-device-mock-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-20`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-50`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`TeamWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`team`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`TeamWidgetType`,id:`param-type-23`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`team`}),`. One of `,_jsx(_components.code,{children:`team`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-54`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-27`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamEyebrow`,type:`string`,id:`param-team-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`teamEyebrowColor`,type:`string | null`,id:`param-team-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`teamEyebrowColorLight`,type:`string | null`,id:`param-team-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`teamEyebrowWeight`,type:`TeamEyebrowWeight | null`,id:`param-team-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamEyebrowSize`,type:`TeamEyebrowSize | null`,id:`param-team-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamHeading`,type:`string`,id:`param-team-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the team.`]})}),_jsx(ResponseField,{name:`teamHeadingColor`,type:`string | null`,id:`param-team-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`teamHeadingColorLight`,type:`string | null`,id:`param-team-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamHeadingWeight`,type:`TeamHeadingWeight | null`,id:`param-team-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamIntro`,type:`string`,id:`param-team-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`teamIntroColor`,type:`string | null`,id:`param-team-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`teamIntroColorLight`,type:`string | null`,id:`param-team-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamIntroWeight`,type:`TeamIntroWeight | null`,id:`param-team-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamIntroSize`,type:`TeamIntroSize | null`,id:`param-team-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAlign`,type:`TeamAlign | null`,id:`param-team-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Header alignment. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamFeaturedOnly`,type:`boolean`,id:`param-team-featured-only`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show only members you have flagged “Featured” in the Team Members manager — e.g. a short leadership row on the home page.`]})}),_jsx(ResponseField,{name:`teamCount`,type:`number | null`,id:`param-team-count`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The most members to show, in the manager’s sort order. 1 to 50.`]})}),_jsx(ResponseField,{name:`teamLayout`,type:`TeamLayout | null`,id:`param-team-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Grid: a tidy multi-row grid (the full team page). Carousel: a continuous auto-scrolling marquee (needs site animations enabled — falls back to the grid when they are off). Spotlight: featured members large on top, the rest in a smaller grid. List: wide rows with the full bio. Scatter: a playful arrangement with varied spacing so the cards float freely. One of `,_jsx(_components.code,{children:`grid`}),`, `,_jsx(_components.code,{children:`carousel`}),`, `,_jsx(_components.code,{children:`spotlight`}),`, `,_jsx(_components.code,{children:`list`}),`, `,_jsx(_components.code,{children:`scatter`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamColumns`,type:`TeamColumns | null`,id:`param-team-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How many cards per row. Auto fits as many as comfortably fit (the Scatter layout composes on three columns when set to Auto). One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSpotlightHeroes`,type:`TeamSpotlightHeroes | null`,id:`param-team-spotlight-heroes`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How many members lead the section at full size. Members flagged “Featured” fill the spots first, in the manager’s sort order; any extra featured members join the rows below. One of `,_jsx(_components.code,{children:`1`}),`, `,_jsx(_components.code,{children:`2`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSpotlightColumns`,type:`TeamSpotlightColumns | null`,id:`param-team-spotlight-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How many of the remaining members sit on each row under the featured spots. One of `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`, `,_jsx(_components.code,{children:`5`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSpeed`,type:`TeamSpeed | null`,id:`param-team-speed`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How fast the carousel auto-scrolls. One of `,_jsx(_components.code,{children:`vslow`}),`, `,_jsx(_components.code,{children:`slow`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`fast`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamDirection`,type:`TeamDirection | null`,id:`param-team-direction`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Scroll direction. One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamScatter`,type:`TeamScatter | null`,id:`param-team-scatter`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How far the cards drift from a tidy grid. Subtle keeps a loose grid; Wild pushes the offsets to their playful maximum. One of `,_jsx(_components.code,{children:`subtle`}),`, `,_jsx(_components.code,{children:`playful`}),`, `,_jsx(_components.code,{children:`wild`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamGap`,type:`TeamGap | null`,id:`param-team-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between cards. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCardLayout`,type:`TeamCardLayout | null`,id:`param-team-card-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Portrait: the photo on top, name/role/bio below — the classic team card. Overlay: a full-bleed photo with a solid color panel over its lower edge holding the name and role. Profile: a horizontal bar — avatar left, name/role/tagline right. Roster: minimal — just the avatar, name and role. (The List section layout always uses its own wide row.) One of `,_jsx(_components.code,{children:`portrait`}),`, `,_jsx(_components.code,{children:`overlay`}),`, `,_jsx(_components.code,{children:`profile`}),`, `,_jsx(_components.code,{children:`roster`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamPhotoAspect`,type:`TeamPhotoAspect | null`,id:`param-team-photo-aspect`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The photo’s aspect ratio on the photo-led card layouts. One of `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`portrait`}),`, `,_jsx(_components.code,{children:`tall`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAvatarShape`,type:`TeamAvatarShape | null`,id:`param-team-avatar-shape`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The photo’s outline. Squircle is a soft superellipse-style corner (approximated with heavy rounding). One of `,_jsx(_components.code,{children:`circle`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`squircle`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAvatarSize`,type:`TeamAvatarSize | null`,id:`param-team-avatar-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Avatar size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAvatarBorder`,type:`TeamAvatarBorder | null`,id:`param-team-avatar-border`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A ring around the photo in the avatar color. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`hairline`}),`, `,_jsx(_components.code,{children:`thin`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAvatarTreatment`,type:`TeamAvatarTreatment | null`,id:`param-team-avatar-treatment`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A flat color accent behind the photo. Panel offsets a solid block behind it; Halo draws a soft concentric disc. Both use the avatar color. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`panel`}),`, `,_jsx(_components.code,{children:`halo`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAvatarColor`,type:`string | null`,id:`param-team-avatar-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the border and the backdrop treatment. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`teamAvatarColorLight`,type:`string | null`,id:`param-team-avatar-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamShowRole`,type:`boolean`,id:`param-team-show-role`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show role / title.`]})}),_jsx(ResponseField,{name:`teamShowBio`,type:`boolean`,id:`param-team-show-bio`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Shown on the Portrait and Profile cards and the List rows. The Overlay and Roster layouts stay bio-free by design.`]})}),_jsx(ResponseField,{name:`teamShowTagline`,type:`boolean`,id:`param-team-show-tagline`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The member’s one-liner, shown on the Profile and Roster cards and the List rows.`]})}),_jsx(ResponseField,{name:`teamHoverPhoto`,type:`boolean`,id:`param-team-hover-photo`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Cross-fades to a member’s alternate photo on hover (set per member; does nothing for members without one, and stays off for visitors who prefer reduced motion).`]})}),_jsx(ResponseField,{name:`teamCardStyle`,type:`TeamCardStyle | null`,id:`param-team-card-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The card treatment. Outline (the default) is a plaque frame — a framed-portrait look; Raised is a quiet lit card; Luxe a frosted glass panel; Ticket/Bracket/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCardStyleRadius`,type:`TeamCardStyleRadius | null`,id:`param-team-card-style-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCardStyleAccentColor`,type:`string | null`,id:`param-team-card-style-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`teamCardStyleAccentColorLight`,type:`string | null`,id:`param-team-card-style-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamCardHover`,type:`TeamCardHover | null`,id:`param-team-card-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a card does on hover. Lift/Pop/Press/Glow/Outline are instant; Sheen sweeps a light across; Tilt, Magnetic and Spotlight follow the cursor (need site animations on). Vary it per section so the page is not cookie-cutter. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCardAlign`,type:`TeamCardAlign | null`,id:`param-team-card-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How the name, role and bio align inside each card (the Profile card and List rows are always left-aligned beside the avatar). One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAccentColor`,type:`string | null`,id:`param-team-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — the lettered-avatar fallback background and the role color default. Leave empty to use the brand accent. (The icon row has its own colors on the Social links tab.)`]})}),_jsx(ResponseField,{name:`teamAccentColorLight`,type:`string | null`,id:`param-team-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamPanelColor`,type:`string | null`,id:`param-team-panel-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The solid panel over the photo on the Overlay card. Leave empty to use the card color.`]})}),_jsx(ResponseField,{name:`teamPanelColorLight`,type:`string | null`,id:`param-team-panel-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamNameSize`,type:`TeamNameSize | null`,id:`param-team-name-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Name size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamNameWeight`,type:`TeamNameWeight | null`,id:`param-team-name-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Name weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamNameColor`,type:`string | null`,id:`param-team-name-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`teamNameColorLight`,type:`string | null`,id:`param-team-name-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamRoleSize`,type:`TeamRoleSize | null`,id:`param-team-role-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Role size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamRoleWeight`,type:`TeamRoleWeight | null`,id:`param-team-role-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Role weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamRoleColor`,type:`string | null`,id:`param-team-role-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the accent color.`]})}),_jsx(ResponseField,{name:`teamRoleColorLight`,type:`string | null`,id:`param-team-role-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamBioSize`,type:`TeamBioSize | null`,id:`param-team-bio-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Bio size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamBioWeight`,type:`TeamBioWeight | null`,id:`param-team-bio-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Bio weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamBioColor`,type:`string | null`,id:`param-team-bio-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`teamBioColorLight`,type:`string | null`,id:`param-team-bio-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamBioClamp`,type:`TeamBioClamp | null`,id:`param-team-bio-clamp`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Cap each bio at this many lines (the rest is truncated with an ellipsis) so one long bio can’t blow up the card height. The List layout always shows the full bio. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`, `,_jsx(_components.code,{children:`6`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamTaglineColor`,type:`string | null`,id:`param-team-tagline-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the faint text color.`]})}),_jsx(ResponseField,{name:`teamTaglineColorLight`,type:`string | null`,id:`param-team-tagline-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamShowSocials`,type:`boolean`,id:`param-team-show-socials`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The member’s social profile icons (set per member in the Team Members manager).`]})}),_jsx(ResponseField,{name:`teamShowContact`,type:`boolean`,id:`param-team-show-contact`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Off by default — turns each member’s email and phone (when set) into icon links. Only enable when you want those details public.`]})}),_jsx(ResponseField,{name:`teamSocialVariant`,type:`TeamSocialVariant | null`,id:`param-team-social-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon style. One of `,_jsx(_components.code,{children:`bare`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`solid`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSocialSize`,type:`TeamSocialSize | null`,id:`param-team-social-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSocialSpacing`,type:`TeamSocialSpacing | null`,id:`param-team-social-spacing`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between the icons. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`loose`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSocialHover`,type:`TeamSocialHover | null`,id:`param-team-social-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover to each platform’s own brand color, or to the site accent (or a chosen hover color). One of `,_jsx(_components.code,{children:`brand`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSocialColor`,type:`string | null`,id:`param-team-social-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Resting icon color. Leave empty for the muted default.`]})}),_jsx(ResponseField,{name:`teamSocialColorLight`,type:`string | null`,id:`param-team-social-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the muted default.`]})}),_jsx(ResponseField,{name:`teamSocialHoverColor`,type:`string | null`,id:`param-team-social-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Hover color” is Accent / custom. Leave empty for the site accent.`]})}),_jsx(ResponseField,{name:`teamSocialHoverColorLight`,type:`string | null`,id:`param-team-social-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`teamBg`,type:`TeamBg | null`,id:`param-team-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamBgCustom`,type:`string | null`,id:`param-team-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`teamBgLight`,type:`TeamBgLight | null`,id:`param-team-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamBgLightCustom`,type:`string | null`,id:`param-team-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`teamFontOverrides`,type:`readonly TeamWidgetTeamFontOverridesItem[]`,id:`param-team-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`TeamWidgetTeamFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`TeamWidgetTeamFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-55`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly TeamWidgetTeamFontOverridesItemUploadsItem[]`,id:`param-uploads-9`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`TeamWidgetTeamFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`TeamWidgetTeamFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-56`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-51`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-52`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`teamCtaLabel`,type:`string`,id:`param-team-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`teamCtaUrl`,type:`string`,id:`param-team-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`teamCtaNewTab`,type:`boolean`,id:`param-team-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`teamCtaVariant`,type:`TeamCtaVariant | null`,id:`param-team-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaSize`,type:`TeamCtaSize | null`,id:`param-team-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaRadius`,type:`TeamCtaRadius | null`,id:`param-team-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaColor`,type:`string | null`,id:`param-team-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`teamCtaColorLight`,type:`string | null`,id:`param-team-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`teamCtaTextColor`,type:`string | null`,id:`param-team-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`teamCtaTextColorLight`,type:`string | null`,id:`param-team-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`teamCtaHoverColor`,type:`string | null`,id:`param-team-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`teamCtaHoverColorLight`,type:`string | null`,id:`param-team-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`teamCtaStyle`,type:`TeamCtaStyle | null`,id:`param-team-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaShadowColor`,type:`string | null`,id:`param-team-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`teamCtaShadowColorLight`,type:`string | null`,id:`param-team-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`teamCtaAnimation`,type:`TeamCtaAnimation | null`,id:`param-team-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaIcon`,type:`string`,id:`param-team-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`teamCtaIconFamily`,type:`TeamCtaIconFamily | null`,id:`param-team-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaIconPosition`,type:`TeamCtaIconPosition | null`,id:`param-team-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaIconNudge`,type:`boolean`,id:`param-team-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-21`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-53`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`FaqWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`faq`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`FaqWidgetType`,id:`param-type-24`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`faq`}),`. One of `,_jsx(_components.code,{children:`faq`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-57`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-28`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqEyebrow`,type:`string`,id:`param-faq-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`faqEyebrowColor`,type:`string | null`,id:`param-faq-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`faqEyebrowColorLight`,type:`string | null`,id:`param-faq-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`faqEyebrowWeight`,type:`FaqEyebrowWeight | null`,id:`param-faq-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqEyebrowSize`,type:`FaqEyebrowSize | null`,id:`param-faq-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqHeading`,type:`string`,id:`param-faq-heading-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the questions.`]})}),_jsx(ResponseField,{name:`faqHeadingColor`,type:`string | null`,id:`param-faq-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`faqHeadingColorLight`,type:`string | null`,id:`param-faq-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqHeadingWeight`,type:`FaqHeadingWeight | null`,id:`param-faq-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqIntro`,type:`string`,id:`param-faq-intro-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`faqIntroColor`,type:`string | null`,id:`param-faq-intro-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`faqIntroColorLight`,type:`string | null`,id:`param-faq-intro-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqIntroWeight`,type:`FaqIntroWeight | null`,id:`param-faq-intro-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqIntroSize`,type:`FaqIntroSize | null`,id:`param-faq-intro-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAlign`,type:`FaqAlign | null`,id:`param-faq-align-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The Split layout always sets its header column left. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqFeaturedOnly`,type:`boolean`,id:`param-faq-featured-only-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show only questions you have flagged “Featured” in the FAQs manager — e.g. a short top-questions block on the home page, linking out to the full FAQ page.`]})}),_jsx(ResponseField,{name:`faqCount`,type:`number | null`,id:`param-faq-count-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The most questions to show, in the manager’s sort order. Raise it for a full FAQ page. 1 to 50.`]})}),_jsx(ResponseField,{name:`faqCategories`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-faq-categories-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional filter. Leave empty to show questions from every category. Manage the list under FAQ Categories. The related `,_jsx(_components.code,{children:`faq-category`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document; a document the site can’t find is left out.`]})}),_jsx(ResponseField,{name:`faqGroupBy`,type:`FaqGroupBy | null`,id:`param-faq-group-by-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. By category renders a subheading per FAQ category, in the order picked in the category filter (or, with no filter, the FAQ Categories sort order); questions without a category are listed last. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`category`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqLayout`,type:`FaqLayout | null`,id:`param-faq-layout-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Accordion: a single centered column of collapsing questions — the classic FAQ. Split: the header (and button) sit in a left column with the accordion beside them. Two columns: the accordion flows across two columns. Open panels: every answer visible in a card grid — no collapsing. One of `,_jsx(_components.code,{children:`accordion`}),`, `,_jsx(_components.code,{children:`split`}),`, `,_jsx(_components.code,{children:`columns`}),`, `,_jsx(_components.code,{children:`panels`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqPanelColumns`,type:`FaqPanelColumns | null`,id:`param-faq-panel-columns-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How many open panels sit per row (they stack on small screens). One of `,_jsx(_components.code,{children:`1`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqOpenMode`,type:`FaqOpenMode | null`,id:`param-faq-open-mode-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. One at a time closes the previous answer when a new one opens; Independent lets visitors hold several open. One of `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`multiple`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqFirstOpen`,type:`boolean`,id:`param-faq-first-open-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Starts the section with the first answer expanded so the block never reads as an empty list of rows.`]})}),_jsx(ResponseField,{name:`faqMarker`,type:`FaqMarker | null`,id:`param-faq-marker-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The disclosure marker on each question. Plus rotates into a close mark; Chevron flips. One of `,_jsx(_components.code,{children:`plus`}),`, `,_jsx(_components.code,{children:`chevron`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqGap`,type:`FaqGap | null`,id:`param-faq-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Space between questions. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqSchema`,type:`boolean`,id:`param-faq-schema-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds this section’s questions to the page’s schema.org FAQPage markup so search engines can read them (all FAQ sections on a page share one FAQPage block). Costs nothing when on; turn off only to exclude these questions.`]})}),_jsx(ResponseField,{name:`faqCardStyle`,type:`FaqCardStyle | null`,id:`param-faq-card-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The question-row treatment. Plain (the default) is the classic divided list — hairlines between questions. Any other style turns each question into a card: Raised is a quiet lit card, Outline a framed row, Luxe frosted glass; Ticket/Bracket/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardStyleRadius`,type:`FaqCardStyleRadius | null`,id:`param-faq-card-style-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardStyleAccentColor`,type:`string | null`,id:`param-faq-card-style-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`faqCardStyleAccentColorLight`,type:`string | null`,id:`param-faq-card-style-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqCardStyleForgeScope`,type:`FaqCardStyleForgeScope | null`,id:`param-faq-card-style-forge-scope-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardStyleForgeWeight`,type:`FaqCardStyleForgeWeight | null`,id:`param-faq-card-style-forge-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardHover`,type:`FaqCardHover | null`,id:`param-faq-card-hover-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a question row does on hover. None (the default) keeps the accordion calm — the open/close motion is the interaction. The card effects (Lift/Glow/…) suit the card styles; the cursor-tracked ones need site animations on. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAccentColor`,type:`string | null`,id:`param-faq-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — colors the toggle icon and the open question’s highlight. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`faqAccentColorLight`,type:`string | null`,id:`param-faq-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqQuestionSize`,type:`FaqQuestionSize | null`,id:`param-faq-question-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Question size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqQuestionWeight`,type:`FaqQuestionWeight | null`,id:`param-faq-question-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Question weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqQuestionColor`,type:`string | null`,id:`param-faq-question-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`faqQuestionColorLight`,type:`string | null`,id:`param-faq-question-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqAnswerSize`,type:`FaqAnswerSize | null`,id:`param-faq-answer-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Answer size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAnswerWeight`,type:`FaqAnswerWeight | null`,id:`param-faq-answer-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Answer weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAnswerColor`,type:`string | null`,id:`param-faq-answer-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`faqAnswerColorLight`,type:`string | null`,id:`param-faq-answer-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqGroupHeadingWeight`,type:`FaqGroupHeadingWeight | null`,id:`param-faq-group-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Category heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqGroupHeadingColor`,type:`string | null`,id:`param-faq-group-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`faqGroupHeadingColorLight`,type:`string | null`,id:`param-faq-group-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqBg`,type:`FaqBg | null`,id:`param-faq-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqBgCustom`,type:`string | null`,id:`param-faq-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`faqBgLight`,type:`FaqBgLight | null`,id:`param-faq-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqBgLightCustom`,type:`string | null`,id:`param-faq-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`faqFontOverrides`,type:`readonly FaqWidgetFaqFontOverridesItem[]`,id:`param-faq-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FaqWidgetFaqFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`FaqWidgetFaqFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`faqCtaLabel`,type:`string`,id:`param-faq-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`faqCtaUrl`,type:`string`,id:`param-faq-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`faqCtaNewTab`,type:`boolean`,id:`param-faq-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`faqCtaVariant`,type:`FaqCtaVariant | null`,id:`param-faq-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaSize`,type:`FaqCtaSize | null`,id:`param-faq-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaRadius`,type:`FaqCtaRadius | null`,id:`param-faq-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaColor`,type:`string | null`,id:`param-faq-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`faqCtaColorLight`,type:`string | null`,id:`param-faq-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`faqCtaTextColor`,type:`string | null`,id:`param-faq-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`faqCtaTextColorLight`,type:`string | null`,id:`param-faq-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`faqCtaHoverColor`,type:`string | null`,id:`param-faq-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`faqCtaHoverColorLight`,type:`string | null`,id:`param-faq-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`faqCtaStyle`,type:`FaqCtaStyle | null`,id:`param-faq-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaShadowColor`,type:`string | null`,id:`param-faq-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`faqCtaShadowColorLight`,type:`string | null`,id:`param-faq-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`faqCtaAnimation`,type:`FaqCtaAnimation | null`,id:`param-faq-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaIcon`,type:`string`,id:`param-faq-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`faqCtaIconFamily`,type:`FaqCtaIconFamily | null`,id:`param-faq-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaIconPosition`,type:`FaqCtaIconPosition | null`,id:`param-faq-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaIconNudge`,type:`boolean`,id:`param-faq-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-22`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-54`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`ServiceMapWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`service-map`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`ServiceMapWidgetType`,id:`param-type-25`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`service-map`}),`. One of `,_jsx(_components.code,{children:`service-map`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-58`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-29`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapEyebrow`,type:`string`,id:`param-service-map-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`serviceMapEyebrowColor`,type:`string | null`,id:`param-service-map-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`serviceMapEyebrowColorLight`,type:`string | null`,id:`param-service-map-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`serviceMapEyebrowWeight`,type:`ServiceMapEyebrowWeight | null`,id:`param-service-map-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapEyebrowSize`,type:`ServiceMapEyebrowSize | null`,id:`param-service-map-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapHeading`,type:`string`,id:`param-service-map-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Heading.`]})}),_jsx(ResponseField,{name:`serviceMapHeadingColor`,type:`string | null`,id:`param-service-map-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Leave empty for the standard ink color.`]})}),_jsx(ResponseField,{name:`serviceMapHeadingColorLight`,type:`string | null`,id:`param-service-map-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapHeadingWeight`,type:`ServiceMapHeadingWeight | null`,id:`param-service-map-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapIntro`,type:`string`,id:`param-service-map-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short paragraph under the heading. The data source’s own description (service days etc.) shows in the result panel, not here.`]})}),_jsx(ResponseField,{name:`serviceMapIntroSize`,type:`ServiceMapIntroSize | null`,id:`param-service-map-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapHeight`,type:`ServiceMapHeight | null`,id:`param-service-map-height`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Map height. One of `,_jsx(_components.code,{children:`compact`}),`, `,_jsx(_components.code,{children:`standard`}),`, `,_jsx(_components.code,{children:`tall`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapTheme`,type:`ServiceMapTheme | null`,id:`param-service-map-theme`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Curated light/dark basemap pairs — each follows the visitor’s theme toggle. “Site palette” derives the basemap from this site’s own colors. One of `,_jsx(_components.code,{children:`palette`}),`, `,_jsx(_components.code,{children:`classic`}),`, `,_jsx(_components.code,{children:`silver`}),`, `,_jsx(_components.code,{children:`retro`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapFrameRadius`,type:`ServiceMapFrameRadius | null`,id:`param-service-map-frame-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Map corner radius. One of `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapFrameBorderColor`,type:`string | null`,id:`param-service-map-frame-border-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Leave empty for the standard hairline — set it to match a colored border on the zone cards.`]})}),_jsx(ResponseField,{name:`serviceMapFrameBorderColorLight`,type:`string | null`,id:`param-service-map-frame-border-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapFrameGlowColor`,type:`string | null`,id:`param-service-map-frame-glow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional soft glow around the map frame — pairs with a glowing zone-card style. Leave empty for none.`]})}),_jsx(ResponseField,{name:`serviceMapFrameGlowColorLight`,type:`string | null`,id:`param-service-map-frame-glow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapSchema`,type:`boolean`,id:`param-service-map-schema`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. On pages with this section, upgrades the business structured data from the compact site-wide form to the full detail: every public place name, every zip code, and area boundaries. Costs visitors nothing; turn off to keep this page at the compact site-wide form. (Requires structured data on in Site settings → SEO; demo map data is never published.)`]})}),_jsx(ResponseField,{name:`serviceMapShowLegend`,type:`boolean`,id:`param-service-map-show-legend`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The legend card overlaid on the map. The zone cards below the map always carry the same information for screen readers and when the map can’t load.`]})}),_jsx(ResponseField,{name:`serviceMapKeySwatchSize`,type:`ServiceMapKeySwatchSize | null`,id:`param-service-map-key-swatch-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Key swatch size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapKeyJustify`,type:`ServiceMapKeyJustify | null`,id:`param-service-map-key-justify`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Key text justification. One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapKeyTextSize`,type:`ServiceMapKeyTextSize | null`,id:`param-service-map-key-text-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Key text size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapKeyTextWeight`,type:`ServiceMapKeyTextWeight | null`,id:`param-service-map-key-text-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Key text weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapKeyTextColor`,type:`string | null`,id:`param-service-map-key-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Leave empty for the standard ink color.`]})}),_jsx(ResponseField,{name:`serviceMapKeyTextColorLight`,type:`string | null`,id:`param-service-map-key-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapKeyRadius`,type:`ServiceMapKeyRadius | null`,id:`param-service-map-key-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Key corner radius. One of `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapKeyBorderColor`,type:`string | null`,id:`param-service-map-key-border-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Leave empty for the standard hairline — set it to match the map frame or the zone cards.`]})}),_jsx(ResponseField,{name:`serviceMapKeyBorderColorLight`,type:`string | null`,id:`param-service-map-key-border-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapKeyGlowColor`,type:`string | null`,id:`param-service-map-key-glow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional soft glow around the key card. Leave empty for none.`]})}),_jsx(ResponseField,{name:`serviceMapKeyGlowColorLight`,type:`string | null`,id:`param-service-map-key-glow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapShowCards`,type:`boolean`,id:`param-service-map-show-cards`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The zone/pricing cards under the map. Turning this off hides them visually — they stay in the page for screen readers and no-JavaScript visitors (the map itself isn’t accessible).`]})}),_jsx(ResponseField,{name:`serviceMapCardStyle`,type:`ServiceMapCardStyle | null`,id:`param-service-map-card-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The card surface. Raised is a quiet lit card; Luxe is a frosted glass panel; Outline is a double-rule plaque frame; Plain has no chrome; Poster frames the card with an accent keyline; Spine embeds a color rail along the top; Tint washes the card in the accent color. Showstoppers: Ticket punches notches into the sides, Bracket draws only corner marks, Forge is a machined plate with an engraved frame, Press is a punched index card with a margin rule, Inlay recesses the content into a well. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardStyleRadius`,type:`ServiceMapCardStyleRadius | null`,id:`param-service-map-card-style-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardStyleAccentColor`,type:`string | null`,id:`param-service-map-card-style-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`serviceMapCardStyleAccentColorLight`,type:`string | null`,id:`param-service-map-card-style-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapCardsHover`,type:`ServiceMapCardsHover | null`,id:`param-service-map-cards-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a card does on hover. Lift/Pop/Press/Glow/Outline are instant CSS effects; Sheen sweeps a soft light across; Tilt, Magnetic and Spotlight follow the cursor (these need site animations on — visitors who prefer reduced motion see the resting card). Pick a different one per section so a page feels varied, not cookie-cutter. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsSwatchSize`,type:`ServiceMapCardsSwatchSize | null`,id:`param-service-map-cards-swatch-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Card swatch size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsJustify`,type:`ServiceMapCardsJustify | null`,id:`param-service-map-cards-justify`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Card text justification. One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsNameWeight`,type:`ServiceMapCardsNameWeight | null`,id:`param-service-map-cards-name-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Zone name weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsTextSize`,type:`ServiceMapCardsTextSize | null`,id:`param-service-map-cards-text-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Card text size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsTextColor`,type:`string | null`,id:`param-service-map-cards-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Colors the zone names; supporting copy stays muted. Leave empty for the standard ink color.`]})}),_jsx(ResponseField,{name:`serviceMapCardsTextColorLight`,type:`string | null`,id:`param-service-map-cards-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapCardsSubSize`,type:`ServiceMapCardsSubSize | null`,id:`param-service-map-cards-sub-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The price and detail lines under each zone name — sized relative to the card text size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsSubWeight`,type:`ServiceMapCardsSubWeight | null`,id:`param-service-map-cards-sub-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Supporting text weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsSubColor`,type:`string | null`,id:`param-service-map-cards-sub-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Leave empty for the standard muted color.`]})}),_jsx(ResponseField,{name:`serviceMapCardsSubColorLight`,type:`string | null`,id:`param-service-map-cards-sub-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapIncludedLabel`,type:`string`,id:`param-service-map-included-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional label shown instead of “`,`$0” wherever a zone has no fee (key, cards, results). Clear it to show the plain price — $`,`0 doesn’t always mean included.`]})}),_jsxs(ResponseField,{name:`serviceMapZoneOverrides`,type:`readonly ServiceMapWidgetServiceMapZoneOverridesItem[]`,id:`param-service-map-zone-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`ServiceMapWidgetServiceMapZoneOverridesItem`}),`. Per-zone display overrides, matched by the zone name the data source provides. Rename a zone, replace its price text, or hide it entirely — the underlying data is never changed.`]}),_jsxs(Expandable,{title:`ServiceMapWidgetServiceMapZoneOverridesItem`,children:[_jsx(ResponseField,{name:`zoneName`,type:`string`,id:`param-zone-name`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Case-insensitive match against the zone name in the map data.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-59`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`displayName`,type:`string`,id:`param-display-name`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional replacement name shown everywhere this zone appears.`]})}),_jsx(ResponseField,{name:`priceLabel`,type:`string`,id:`param-price-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional replacement for the price text (e.g. “Included”, “Call us”). Overrides the zero-price label too.`]})}),_jsx(ResponseField,{name:`hide`,type:`boolean`,id:`param-hide`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The zone stays on the map and in search results — it just leaves the key and cards.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-55`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`serviceMapShowSearch`,type:`boolean`,id:`param-service-map-show-search`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show the “check your area” search.`]})}),_jsx(ResponseField,{name:`serviceMapSearchLabel`,type:`string`,id:`param-service-map-search-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Search label.`]})}),_jsx(ResponseField,{name:`serviceMapSearchPlaceholder`,type:`string`,id:`param-service-map-search-placeholder`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Search placeholder.`]})}),_jsx(ResponseField,{name:`serviceMapSearchJustify`,type:`ServiceMapSearchJustify | null`,id:`param-service-map-search-justify`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Positions the search box and button above the map. One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapSearchInputRadius`,type:`ServiceMapSearchInputRadius | null`,id:`param-service-map-search-input-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Same radius scale as the buttons, so the box and button can match. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapAutocomplete`,type:`boolean`,id:`param-service-map-autocomplete`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Google address autocomplete under the search box (needs the Places API enabled on the key — see the setup guide in Connections → Google Maps). ZIP-only typing never triggers suggestions when the data source is zip-based.`]})}),_jsx(ResponseField,{name:`serviceMapOutsideAreaText`,type:`string`,id:`param-service-map-outside-area-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Shown when a searched location doesn’t fall in any zone (or the premium radius).`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonText`,type:`string`,id:`param-service-map-search-button-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Leave empty for “Check”. The button’s look is configured in the Search button tab.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonVariant`,type:`ServiceMapSearchButtonVariant | null`,id:`param-service-map-search-button-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonSize`,type:`ServiceMapSearchButtonSize | null`,id:`param-service-map-search-button-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonRadius`,type:`ServiceMapSearchButtonRadius | null`,id:`param-service-map-search-button-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonColor`,type:`string | null`,id:`param-service-map-search-button-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonColorLight`,type:`string | null`,id:`param-service-map-search-button-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonTextColor`,type:`string | null`,id:`param-service-map-search-button-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonTextColorLight`,type:`string | null`,id:`param-service-map-search-button-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonHoverColor`,type:`string | null`,id:`param-service-map-search-button-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonHoverColorLight`,type:`string | null`,id:`param-service-map-search-button-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonStyle`,type:`ServiceMapSearchButtonStyle | null`,id:`param-service-map-search-button-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonShadowColor`,type:`string | null`,id:`param-service-map-search-button-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonShadowColorLight`,type:`string | null`,id:`param-service-map-search-button-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonAnimation`,type:`ServiceMapSearchButtonAnimation | null`,id:`param-service-map-search-button-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapPanelPlacement`,type:`ServiceMapPanelPlacement | null`,id:`param-service-map-panel-placement`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Popup placement. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`corner`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapPanelLook`,type:`ServiceMapPanelLook | null`,id:`param-service-map-panel-look`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Popup style. One of `,_jsx(_components.code,{children:`overlay`}),`, `,_jsx(_components.code,{children:`solid`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapPanelShowQuery`,type:`boolean`,id:`param-service-map-panel-show-query`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Repeats the searched ZIP code or address at the top of the result popup.`]})}),_jsx(ResponseField,{name:`serviceMapPanelShowCity`,type:`boolean`,id:`param-service-map-panel-show-city`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Looks up the locality for a searched ZIP code (one extra Geocoding API call per search) and shows it beside the searched value.`]})}),_jsx(ResponseField,{name:`serviceMapPanelTextSize`,type:`ServiceMapPanelTextSize | null`,id:`param-service-map-panel-text-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Popup text size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapPanelTitleWeight`,type:`ServiceMapPanelTitleWeight | null`,id:`param-service-map-panel-title-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Popup title weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapShowPremium`,type:`boolean`,id:`param-service-map-show-premium`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. When the data carries a premium (distance-priced) service, include it in search results and the zone cards. Sources without their own premium block use the pricing set in Service area map → Areas and pricing.`]})}),_jsx(ResponseField,{name:`serviceMapShowPremiumRing`,type:`boolean`,id:`param-service-map-show-premium-ring`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Needs a premium range limit (miles) — with no limit there is no ring to draw.`]})}),_jsx(ResponseField,{name:`serviceMapPremiumEstimateNote`,type:`string`,id:`param-service-map-premium-estimate-note`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Premium estimate note.`]})}),_jsx(ResponseField,{name:`serviceMapPremiumUnavailableText`,type:`string`,id:`param-service-map-premium-unavailable-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Shown when a distance estimate isn’t possible (e.g. the Distance Matrix API isn’t enabled on the key).`]})}),_jsx(ResponseField,{name:`serviceMapMarkerImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-service-map-marker-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional logo/pin image for the business marker. Leave empty for a simple accent-color pin. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`serviceMapMarkerImageLight`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-service-map-marker-image-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional light-theme variant. Falls back to the dark-theme image. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`serviceMapMarkerLabel`,type:`string`,id:`param-service-map-marker-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Accessible name + hover title for the marker. Leave empty to use the business name from Site settings.`]})}),_jsx(ResponseField,{name:`serviceMapMarkerSize`,type:`ServiceMapMarkerSize | null`,id:`param-service-map-marker-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marker size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapMarkerBounce`,type:`boolean`,id:`param-service-map-marker-bounce`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The business marker gently bobs in place. Automatically disabled for visitors who prefer reduced motion.`]})}),_jsx(ResponseField,{name:`serviceMapShowLocation`,type:`boolean`,id:`param-service-map-show-location`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds the business location (named by its label in Service area map → Your location) as the FIRST entry of the map key and zone cards.`]})}),_jsx(ResponseField,{name:`serviceMapBg`,type:`ServiceMapBg | null`,id:`param-service-map-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapBgCustom`,type:`string | null`,id:`param-service-map-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`serviceMapBgLight`,type:`ServiceMapBgLight | null`,id:`param-service-map-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapBgLightCustom`,type:`string | null`,id:`param-service-map-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`serviceMapFontOverrides`,type:`readonly ServiceMapWidgetServiceMapFontOverridesItem[]`,id:`param-service-map-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`ServiceMapWidgetServiceMapFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`ServiceMapWidgetServiceMapFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-60`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly ServiceMapWidgetServiceMapFontOverridesItemUploadsItem[]`,id:`param-uploads-10`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`ServiceMapWidgetServiceMapFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`ServiceMapWidgetServiceMapFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-61`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-56`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-57`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-23`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-58`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`BlogPreviewWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`blog-preview`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`BlogPreviewWidgetType`,id:`param-type-26`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`blog-preview`}),`. One of `,_jsx(_components.code,{children:`blog-preview`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-62`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-30`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogHeading`,type:`string`,id:`param-blog-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Heading.`]})}),_jsx(ResponseField,{name:`blogSubheading`,type:`string`,id:`param-blog-subheading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Subheading.`]})}),_jsx(ResponseField,{name:`blogCardImageAspect`,type:`BlogCardImageAspect | null`,id:`param-blog-card-image-aspect`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aspect ratio of the featured image. Choose “Hidden” for text-only cards. One of `,_jsx(_components.code,{children:`16/10`}),`, `,_jsx(_components.code,{children:`4/3`}),`, `,_jsx(_components.code,{children:`3/2`}),`, `,_jsx(_components.code,{children:`1/1`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardImageHover`,type:`BlogCardImageHover | null`,id:`param-blog-card-image-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Image hover. One of `,_jsx(_components.code,{children:`zoom`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardImageFill`,type:`boolean`,id:`param-blog-card-image-fill`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use the featured image as the full card background, with the title and meta overlaid on a dark scrim. Posts with no image fall back to a normal card.`]})}),_jsx(ResponseField,{name:`blogCardPreset`,type:`BlogCardPreset | null`,id:`param-blog-card-preset`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The card surface. Raised is a quiet lit card; Luxe a frosted glass panel; Outline a plaque frame; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. (On image-led cards the photo covers the top edge.) One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardPresetRadius`,type:`BlogCardPresetRadius | null`,id:`param-blog-card-preset-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardPresetAccentColor`,type:`string | null`,id:`param-blog-card-preset-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`blogCardPresetAccentColorLight`,type:`string | null`,id:`param-blog-card-preset-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`blogCardPresetForgeScope`,type:`BlogCardPresetForgeScope | null`,id:`param-blog-card-preset-forge-scope`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardPresetForgeWeight`,type:`BlogCardPresetForgeWeight | null`,id:`param-blog-card-preset-forge-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardHover`,type:`BlogCardHover | null`,id:`param-blog-card-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a card does on hover. Lift/Pop/Press/Glow/Outline are instant; Sheen sweeps a light across; Tilt (3-D + glare), Magnetic and Spotlight follow the cursor (need site animations on). The Hover color below tints these. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardHoverColor`,type:`string | null`,id:`param-blog-card-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / shadow / glow color on hover. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`blogCardHoverColorLight`,type:`string | null`,id:`param-blog-card-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`blogCardShowCategory`,type:`boolean`,id:`param-blog-card-show-category`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show category.`]})}),_jsx(ResponseField,{name:`blogCardCategoryStyle`,type:`BlogCardCategoryStyle | null`,id:`param-blog-card-category-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How the category badge uses its color (set per category under Blog Categories). Filled = colored background; Outline = colored border + text; Minimal = colored text only. One of `,_jsx(_components.code,{children:`filled`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`minimal`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardShowDate`,type:`boolean`,id:`param-blog-card-show-date`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show date.`]})}),_jsx(ResponseField,{name:`blogCardShowExcerpt`,type:`boolean`,id:`param-blog-card-show-excerpt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show excerpt.`]})}),_jsx(ResponseField,{name:`blogCardExcerptLines`,type:`BlogCardExcerptLines | null`,id:`param-blog-card-excerpt-lines`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How many lines of the excerpt to show before truncating. One of `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardShowAuthor`,type:`boolean`,id:`param-blog-card-show-author`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show author.`]})}),_jsx(ResponseField,{name:`blogCardShowReadMore`,type:`boolean`,id:`param-blog-card-show-read-more`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show “Read post” link.`]})}),_jsx(ResponseField,{name:`blogCardReadMorePlacement`,type:`BlogCardReadMorePlacement | null`,id:`param-blog-card-read-more-placement`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto puts it on the right of horizontal cards (list / compact / featured) and below the text on grid cards. Or force one placement everywhere. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`below`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardReadMoreColor`,type:`string | null`,id:`param-blog-card-read-more-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the “Read post” link color. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`blogCardReadMoreColorLight`,type:`string | null`,id:`param-blog-card-read-more-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`blogCardReadMoreHoverColor`,type:`string | null`,id:`param-blog-card-read-more-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Color of the “Read post” link when the card is hovered. Leave empty to use the accent color.`]})}),_jsx(ResponseField,{name:`blogCardReadMoreHoverColorLight`,type:`string | null`,id:`param-blog-card-read-more-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color, then the accent.`]})}),_jsx(ResponseField,{name:`blogCardTitleColor`,type:`string | null`,id:`param-blog-card-title-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the card title color. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`blogCardTitleColorLight`,type:`string | null`,id:`param-blog-card-title-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`blogCardTitleWeight`,type:`BlogCardTitleWeight | null`,id:`param-blog-card-title-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardTitleHoverColor`,type:`string | null`,id:`param-blog-card-title-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Title color when the card is hovered. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`blogCardTitleHoverColorLight`,type:`string | null`,id:`param-blog-card-title-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color, then the accent.`]})}),_jsx(ResponseField,{name:`blogCardTextColor`,type:`string | null`,id:`param-blog-card-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the excerpt text color. Leave empty for the muted default.`]})}),_jsx(ResponseField,{name:`blogCardTextColorLight`,type:`string | null`,id:`param-blog-card-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the muted default.`]})}),_jsx(ResponseField,{name:`blogCardTextWeight`,type:`BlogCardTextWeight | null`,id:`param-blog-card-text-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Excerpt weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardMetaColor`,type:`string | null`,id:`param-blog-card-meta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Date / meta line color. Leave empty for the faint default.`]})}),_jsx(ResponseField,{name:`blogCardMetaColorLight`,type:`string | null`,id:`param-blog-card-meta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the faint default.`]})}),_jsx(ResponseField,{name:`blogBg`,type:`BlogBg | null`,id:`param-blog-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogBgCustom`,type:`string | null`,id:`param-blog-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`blogBgLight`,type:`BlogBgLight | null`,id:`param-blog-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogBgLightCustom`,type:`string | null`,id:`param-blog-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`blogFontOverrides`,type:`readonly BlogPreviewWidgetBlogFontOverridesItem[]`,id:`param-blog-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`BlogPreviewWidgetBlogFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`BlogPreviewWidgetBlogFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-63`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly BlogPreviewWidgetBlogFontOverridesItemUploadsItem[]`,id:`param-uploads-11`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`BlogPreviewWidgetBlogFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`BlogPreviewWidgetBlogFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-64`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-59`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-60`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`blogCtaLabel`,type:`string`,id:`param-blog-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`blogCtaUrl`,type:`string`,id:`param-blog-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`blogCtaNewTab`,type:`boolean`,id:`param-blog-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`blogCtaVariant`,type:`BlogCtaVariant | null`,id:`param-blog-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaSize`,type:`BlogCtaSize | null`,id:`param-blog-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaRadius`,type:`BlogCtaRadius | null`,id:`param-blog-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaColor`,type:`string | null`,id:`param-blog-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`blogCtaColorLight`,type:`string | null`,id:`param-blog-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`blogCtaTextColor`,type:`string | null`,id:`param-blog-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`blogCtaTextColorLight`,type:`string | null`,id:`param-blog-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`blogCtaHoverColor`,type:`string | null`,id:`param-blog-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`blogCtaHoverColorLight`,type:`string | null`,id:`param-blog-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`blogCtaStyle`,type:`BlogCtaStyle | null`,id:`param-blog-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaShadowColor`,type:`string | null`,id:`param-blog-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`blogCtaShadowColorLight`,type:`string | null`,id:`param-blog-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`blogCtaAnimation`,type:`BlogCtaAnimation | null`,id:`param-blog-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaIcon`,type:`string`,id:`param-blog-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`blogCtaIconFamily`,type:`BlogCtaIconFamily | null`,id:`param-blog-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaIconPosition`,type:`BlogCtaIconPosition | null`,id:`param-blog-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaIconNudge`,type:`boolean`,id:`param-blog-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-24`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-61`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`CookieDeclarationWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`cookie-declaration`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`CookieDeclarationWidgetType`,id:`param-type-27`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`cookie-declaration`}),`. One of `,_jsx(_components.code,{children:`cookie-declaration`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-65`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-31`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cookieDeclEyebrow`,type:`string`,id:`param-cookie-decl-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`cookieDeclHeading`,type:`string`,id:`param-cookie-decl-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Heading.`]})}),_jsx(ResponseField,{name:`cookieDeclIntro`,type:`string`,id:`param-cookie-decl-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Introduction.`]})}),_jsx(ResponseField,{name:`cookieDeclShowStatus`,type:`boolean`,id:`param-cookie-decl-show-status`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A short block naming what this visitor has allowed, with a button that reopens the preferences panel. Withdrawal has to be as easy as consent, so leave this on unless the page offers another way.`]})}),_jsx(ResponseField,{name:`cookieDeclShowTable`,type:`boolean`,id:`param-cookie-decl-show-table`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Provider, type, duration and domain per entry. Off leaves the plain-language disclosures alone, which reads better but tells a technical reader less.`]})}),_jsx(ResponseField,{name:`cookieDeclLayout`,type:`CookieDeclLayout | null`,id:`param-cookie-decl-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Layout. One of `,_jsx(_components.code,{children:`stacked`}),`, `,_jsx(_components.code,{children:`compact`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cookieDeclBg`,type:`CookieDeclBg | null`,id:`param-cookie-decl-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cookieDeclBgCustom`,type:`string | null`,id:`param-cookie-decl-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`cookieDeclBgLight`,type:`CookieDeclBgLight | null`,id:`param-cookie-decl-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cookieDeclBgLightCustom`,type:`string | null`,id:`param-cookie-decl-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`cookieDeclFontOverrides`,type:`readonly CookieDeclarationWidgetCookieDeclFontOverridesItem[]`,id:`param-cookie-decl-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`CookieDeclarationWidgetCookieDeclFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`CookieDeclarationWidgetCookieDeclFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-66`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly CookieDeclarationWidgetCookieDeclFontOverridesItemUploadsItem[]`,id:`param-uploads-12`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`CookieDeclarationWidgetCookieDeclFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`CookieDeclarationWidgetCookieDeclFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-67`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-62`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-63`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-25`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-64`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`RichTextWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`RichTextWidgetType`,id:`param-type-28`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-68`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-32`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`content`,type:`string`,id:`param-content-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The text as HTML, e.g. `,_jsx(_components.code,{children:`\u003ch2>Our story\u003c/h2>\u003cp>It began with \u003cstrong>one\u003c/strong> idea.\u003c/p>`}),`. The site keeps the tags and styles this area’s editor offers (paragraphs, headings, bold, italic, links, lists…) and removes the rest.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-26`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-65`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`PricingWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`pricing`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`PricingWidgetType`,id:`param-type-29`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`pricing`}),`. One of `,_jsx(_components.code,{children:`pricing`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-69`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-33`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingEyebrowEnabled`,type:`boolean`,id:`param-pricing-eyebrow-enabled-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “Pricing”).`]})}),_jsx(ResponseField,{name:`pricingEyebrow`,type:`string`,id:`param-pricing-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`pricingEyebrowColor`,type:`string | null`,id:`param-pricing-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`pricingEyebrowColorLight`,type:`string | null`,id:`param-pricing-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingEyebrowWeight`,type:`PricingEyebrowWeight | null`,id:`param-pricing-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingEyebrowSize`,type:`PricingEyebrowSize | null`,id:`param-pricing-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHeading`,type:`string`,id:`param-pricing-heading-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the cards.`]})}),_jsx(ResponseField,{name:`pricingHeadingColor`,type:`string | null`,id:`param-pricing-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`pricingHeadingColorLight`,type:`string | null`,id:`param-pricing-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingHeadingWeight`,type:`PricingHeadingWeight | null`,id:`param-pricing-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHeadingSize`,type:`PricingHeadingSize | null`,id:`param-pricing-heading-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingIntro`,type:`string`,id:`param-pricing-intro-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`pricingIntroColor`,type:`string | null`,id:`param-pricing-intro-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`pricingIntroColorLight`,type:`string | null`,id:`param-pricing-intro-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingIntroWeight`,type:`PricingIntroWeight | null`,id:`param-pricing-intro-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingIntroSize`,type:`PricingIntroSize | null`,id:`param-pricing-intro-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingColumns`,type:`PricingColumns | null`,id:`param-pricing-columns-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of cards. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingGap`,type:`PricingGap | null`,id:`param-pricing-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between cards. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyle`,type:`PricingCardStyle | null`,id:`param-pricing-card-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The base treatment for every tier (a highlighted tier always gets its own bold framed look). Raised is a quiet lit card; Luxe a frosted glass panel; Outline a plaque frame; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyleRadius`,type:`PricingCardStyleRadius | null`,id:`param-pricing-card-style-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyleAccentColor`,type:`string | null`,id:`param-pricing-card-style-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`pricingCardStyleAccentColorLight`,type:`string | null`,id:`param-pricing-card-style-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingCardStyleForgeScope`,type:`PricingCardStyleForgeScope | null`,id:`param-pricing-card-style-forge-scope-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyleForgeWeight`,type:`PricingCardStyleForgeWeight | null`,id:`param-pricing-card-style-forge-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingAlign`,type:`PricingAlign | null`,id:`param-pricing-align-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aligns the section header and the text inside each card. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingEqualHeight`,type:`boolean`,id:`param-pricing-equal-height-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Stretch every card to the tallest one and pin each button to the bottom, so the cards line up even with uneven feature lists.`]})}),_jsx(ResponseField,{name:`pricingFeatureMarkers`,type:`boolean`,id:`param-pricing-feature-markers-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A check (included) or cross (not included) before each feature. Off = a plain list.`]})}),_jsx(ResponseField,{name:`pricingCardHover`,type:`PricingCardHover | null`,id:`param-pricing-card-hover-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How a card reacts to the pointer. Rise floats it up on an accent underglow; Selection ring previews the highlighted look + tints the price; Spotlight washes accent light over the price; Checklist lights up the ✓ marks one-by-one; Tilt is a 3-D parallax that only runs when site animations are on. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`rise`}),`, `,_jsx(_components.code,{children:`ring`}),`, `,_jsx(_components.code,{children:`spotlight`}),`, `,_jsx(_components.code,{children:`checklist`}),`, `,_jsx(_components.code,{children:`tilt`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHoverColor`,type:`string | null`,id:`param-pricing-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / glow / spotlight / checkmark color on hover. Leave empty to use the highlight accent (then the site accent).`]})}),_jsx(ResponseField,{name:`pricingHoverColorLight`,type:`string | null`,id:`param-pricing-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover accent.`]})}),_jsx(ResponseField,{name:`pricingEntrance`,type:`PricingEntrance | null`,id:`param-pricing-entrance-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How the cards animate in as they scroll into view. Featured-led makes the highlighted tier settle last with a little emphasis (draws the eye to the recommended plan); Simple stagger fades them in evenly. Only plays when site animations are on (Site design → Motion) — otherwise the cards are simply shown. One of `,_jsx(_components.code,{children:`featured`}),`, `,_jsx(_components.code,{children:`stagger`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingNameSize`,type:`PricingNameSize | null`,id:`param-pricing-name-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of each card’s name / title. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingPriceSize`,type:`PricingPriceSize | null`,id:`param-pricing-price-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of the price amount (the period and price note scale with it). One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingDescSize`,type:`PricingDescSize | null`,id:`param-pricing-desc-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of each card’s description blurb. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeatureSize`,type:`PricingFeatureSize | null`,id:`param-pricing-feature-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of the feature list text (notes and check marks scale with it). One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHighlightBadge`,type:`string`,id:`param-pricing-highlight-badge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Ribbon text shown on a highlighted tier that doesn’t set its own badge. Each tier can override it (or badge a non-highlighted tier) below. Leave empty for no automatic badge.`]})}),_jsx(ResponseField,{name:`pricingAccentColor`,type:`string | null`,id:`param-pricing-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Color for the highlighted tier’s border + ring and each tier’s badge. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`pricingAccentColorLight`,type:`string | null`,id:`param-pricing-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme accent.`]})}),_jsx(ResponseField,{name:`pricingTiers`,type:`readonly PricingWidgetPricingTiersItem[]`,id:`param-pricing-tiers-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`PricingWidgetPricingTiersItem`}),`. Each card is one tier / package / service. Toggle “Highlight” on the one you want to stand out. Its fields are listed under the first `,_jsx(_components.code,{children:`PricingWidgetPricingTiersItem`}),` above.`]})}),_jsx(ResponseField,{name:`pricingBg`,type:`PricingBg | null`,id:`param-pricing-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingBgCustom`,type:`string | null`,id:`param-pricing-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`pricingBgLight`,type:`PricingBgLight | null`,id:`param-pricing-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingBgLightCustom`,type:`string | null`,id:`param-pricing-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`pricingFontOverrides`,type:`readonly PricingWidgetPricingFontOverridesItem[]`,id:`param-pricing-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`PricingWidgetPricingFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`PricingWidgetPricingFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaLabel`,type:`string`,id:`param-pricing-featured-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaUrl`,type:`string`,id:`param-pricing-featured-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaNewTab`,type:`boolean`,id:`param-pricing-featured-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaVariant`,type:`PricingFeaturedCtaVariant | null`,id:`param-pricing-featured-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaSize`,type:`PricingFeaturedCtaSize | null`,id:`param-pricing-featured-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaRadius`,type:`PricingFeaturedCtaRadius | null`,id:`param-pricing-featured-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaColor`,type:`string | null`,id:`param-pricing-featured-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaColorLight`,type:`string | null`,id:`param-pricing-featured-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaTextColor`,type:`string | null`,id:`param-pricing-featured-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaTextColorLight`,type:`string | null`,id:`param-pricing-featured-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaHoverColor`,type:`string | null`,id:`param-pricing-featured-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaHoverColorLight`,type:`string | null`,id:`param-pricing-featured-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaStyle`,type:`PricingFeaturedCtaStyle | null`,id:`param-pricing-featured-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaShadowColor`,type:`string | null`,id:`param-pricing-featured-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaShadowColorLight`,type:`string | null`,id:`param-pricing-featured-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaAnimation`,type:`PricingFeaturedCtaAnimation | null`,id:`param-pricing-featured-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIcon`,type:`string`,id:`param-pricing-featured-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIconFamily`,type:`PricingFeaturedCtaIconFamily | null`,id:`param-pricing-featured-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIconPosition`,type:`PricingFeaturedCtaIconPosition | null`,id:`param-pricing-featured-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIconNudge`,type:`boolean`,id:`param-pricing-featured-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`pricingCtaLabel`,type:`string`,id:`param-pricing-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`pricingCtaUrl`,type:`string`,id:`param-pricing-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`pricingCtaNewTab`,type:`boolean`,id:`param-pricing-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`pricingCtaVariant`,type:`PricingCtaVariant | null`,id:`param-pricing-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaSize`,type:`PricingCtaSize | null`,id:`param-pricing-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaRadius`,type:`PricingCtaRadius | null`,id:`param-pricing-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaColor`,type:`string | null`,id:`param-pricing-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`pricingCtaColorLight`,type:`string | null`,id:`param-pricing-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`pricingCtaTextColor`,type:`string | null`,id:`param-pricing-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`pricingCtaTextColorLight`,type:`string | null`,id:`param-pricing-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`pricingCtaHoverColor`,type:`string | null`,id:`param-pricing-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`pricingCtaHoverColorLight`,type:`string | null`,id:`param-pricing-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`pricingCtaStyle`,type:`PricingCtaStyle | null`,id:`param-pricing-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaShadowColor`,type:`string | null`,id:`param-pricing-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`pricingCtaShadowColorLight`,type:`string | null`,id:`param-pricing-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`pricingCtaAnimation`,type:`PricingCtaAnimation | null`,id:`param-pricing-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaIcon`,type:`string`,id:`param-pricing-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`pricingCtaIconFamily`,type:`PricingCtaIconFamily | null`,id:`param-pricing-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaIconPosition`,type:`PricingCtaIconPosition | null`,id:`param-pricing-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaIconNudge`,type:`boolean`,id:`param-pricing-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-27`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-66`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`NewsletterWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`newsletter`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`NewsletterWidgetType`,id:`param-type-30`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`newsletter`}),`. One of `,_jsx(_components.code,{children:`newsletter`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-70`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-34`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterForm`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-newsletter-form`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The Form (Forms manager) that receives these submissions and routes them — configure its destinations on the form’s Actions tab. Create one if you have not yet. The related `,_jsx(_components.code,{children:`@apostrophecms/form`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`newsletterEyebrowEnabled`,type:`boolean`,id:`param-newsletter-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show eyebrow.`]})}),_jsx(ResponseField,{name:`newsletterEyebrow`,type:`string`,id:`param-newsletter-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`newsletterEyebrowColor`,type:`string | null`,id:`param-newsletter-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`newsletterEyebrowColorLight`,type:`string | null`,id:`param-newsletter-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`newsletterEyebrowWeight`,type:`NewsletterEyebrowWeight | null`,id:`param-newsletter-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterEyebrowSize`,type:`NewsletterEyebrowSize | null`,id:`param-newsletter-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterHeading`,type:`string`,id:`param-newsletter-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Heading.`]})}),_jsx(ResponseField,{name:`newsletterHeadingColor`,type:`string | null`,id:`param-newsletter-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`newsletterHeadingColorLight`,type:`string | null`,id:`param-newsletter-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`newsletterHeadingWeight`,type:`NewsletterHeadingWeight | null`,id:`param-newsletter-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterHeadingSize`,type:`NewsletterHeadingSize | null`,id:`param-newsletter-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterIntro`,type:`string`,id:`param-newsletter-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`newsletterIntroColor`,type:`string | null`,id:`param-newsletter-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`newsletterIntroColorLight`,type:`string | null`,id:`param-newsletter-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`newsletterIntroWeight`,type:`NewsletterIntroWeight | null`,id:`param-newsletter-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterIntroSize`,type:`NewsletterIntroSize | null`,id:`param-newsletter-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterBand`,type:`NewsletterBand | null`,id:`param-newsletter-band`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Plain sits on the page; Raised is a contained card; Accent is a solid brand-color band. One of `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterAccentColor`,type:`string | null`,id:`param-newsletter-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The accent band color. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`newsletterAccentColorLight`,type:`string | null`,id:`param-newsletter-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`newsletterAlign`,type:`NewsletterAlign | null`,id:`param-newsletter-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Alignment. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterLayout`,type:`NewsletterLayout | null`,id:`param-newsletter-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Inline puts the field + button on one row (stacks on small screens); Stacked always stacks them. One of `,_jsx(_components.code,{children:`inline`}),`, `,_jsx(_components.code,{children:`stacked`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterWidth`,type:`NewsletterWidth | null`,id:`param-newsletter-width`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Content width. One of `,_jsx(_components.code,{children:`narrow`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`wide`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterNameEnabled`,type:`boolean`,id:`param-newsletter-name-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Collect a name.`]})}),_jsx(ResponseField,{name:`newsletterNameLabel`,type:`string`,id:`param-newsletter-name-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Name label.`]})}),_jsx(ResponseField,{name:`newsletterNamePlaceholder`,type:`string`,id:`param-newsletter-name-placeholder`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Name placeholder.`]})}),_jsx(ResponseField,{name:`newsletterEmailLabel`,type:`string`,id:`param-newsletter-email-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Email label.`]})}),_jsx(ResponseField,{name:`newsletterEmailPlaceholder`,type:`string`,id:`param-newsletter-email-placeholder`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Email placeholder.`]})}),_jsx(ResponseField,{name:`newsletterConsentEnabled`,type:`boolean`,id:`param-newsletter-consent-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional opt-in checkbox (e.g. for GDPR-style explicit consent).`]})}),_jsx(ResponseField,{name:`newsletterConsentText`,type:`string`,id:`param-newsletter-consent-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Consent statement.`]})}),_jsx(ResponseField,{name:`newsletterDisclaimer`,type:`string`,id:`param-newsletter-disclaimer`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small line under the form, e.g. an unsubscribe note.`]})}),_jsx(ResponseField,{name:`newsletterSuccessMessage`,type:`string`,id:`param-newsletter-success-message`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Success message.`]})}),_jsx(ResponseField,{name:`newsletterErrorMessage`,type:`string`,id:`param-newsletter-error-message`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Error message.`]})}),_jsx(ResponseField,{name:`newsletterBg`,type:`NewsletterBg | null`,id:`param-newsletter-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterBgCustom`,type:`string | null`,id:`param-newsletter-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`newsletterBgLight`,type:`NewsletterBgLight | null`,id:`param-newsletter-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterBgLightCustom`,type:`string | null`,id:`param-newsletter-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`newsletterFontOverrides`,type:`readonly NewsletterWidgetNewsletterFontOverridesItem[]`,id:`param-newsletter-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`NewsletterWidgetNewsletterFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`NewsletterWidgetNewsletterFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-71`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly NewsletterWidgetNewsletterFontOverridesItemUploadsItem[]`,id:`param-uploads-13`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`NewsletterWidgetNewsletterFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`NewsletterWidgetNewsletterFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-72`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-67`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-68`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`newsletterSubmitLabel`,type:`string`,id:`param-newsletter-submit-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`newsletterSubmitVariant`,type:`NewsletterSubmitVariant | null`,id:`param-newsletter-submit-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitSize`,type:`NewsletterSubmitSize | null`,id:`param-newsletter-submit-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitRadius`,type:`NewsletterSubmitRadius | null`,id:`param-newsletter-submit-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitColor`,type:`string | null`,id:`param-newsletter-submit-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`newsletterSubmitColorLight`,type:`string | null`,id:`param-newsletter-submit-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`newsletterSubmitTextColor`,type:`string | null`,id:`param-newsletter-submit-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`newsletterSubmitTextColorLight`,type:`string | null`,id:`param-newsletter-submit-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`newsletterSubmitHoverColor`,type:`string | null`,id:`param-newsletter-submit-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`newsletterSubmitHoverColorLight`,type:`string | null`,id:`param-newsletter-submit-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`newsletterSubmitStyle`,type:`NewsletterSubmitStyle | null`,id:`param-newsletter-submit-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitShadowColor`,type:`string | null`,id:`param-newsletter-submit-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`newsletterSubmitShadowColorLight`,type:`string | null`,id:`param-newsletter-submit-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`newsletterSubmitAnimation`,type:`NewsletterSubmitAnimation | null`,id:`param-newsletter-submit-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitIcon`,type:`string`,id:`param-newsletter-submit-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`newsletterSubmitIconFamily`,type:`NewsletterSubmitIconFamily | null`,id:`param-newsletter-submit-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitIconPosition`,type:`NewsletterSubmitIconPosition | null`,id:`param-newsletter-submit-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitIconNudge`,type:`boolean`,id:`param-newsletter-submit-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-28`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-69`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`SmsSignupWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`sms-signup`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`SmsSignupWidgetType`,id:`param-type-31`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`sms-signup`}),`. One of `,_jsx(_components.code,{children:`sms-signup`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupConsentText`,type:`string`,id:`param-sms-signup-consent-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Shown beside a required checkbox; the form shows only once this is filled in. Be specific about what they are agreeing to. The brand name is added automatically from Site settings.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-73`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-35`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupForm`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-sms-signup-form`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The Form (Forms manager) that receives these SMS opt-ins and routes them — configure its destinations on the form’s Actions tab. The related `,_jsx(_components.code,{children:`@apostrophecms/form`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`smsSignupEyebrowEnabled`,type:`boolean`,id:`param-sms-signup-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show eyebrow.`]})}),_jsx(ResponseField,{name:`smsSignupEyebrow`,type:`string`,id:`param-sms-signup-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`smsSignupEyebrowColor`,type:`string | null`,id:`param-sms-signup-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`smsSignupEyebrowColorLight`,type:`string | null`,id:`param-sms-signup-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`smsSignupEyebrowWeight`,type:`SmsSignupEyebrowWeight | null`,id:`param-sms-signup-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupEyebrowSize`,type:`SmsSignupEyebrowSize | null`,id:`param-sms-signup-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupHeading`,type:`string`,id:`param-sms-signup-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Heading.`]})}),_jsx(ResponseField,{name:`smsSignupHeadingColor`,type:`string | null`,id:`param-sms-signup-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`smsSignupHeadingColorLight`,type:`string | null`,id:`param-sms-signup-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`smsSignupHeadingWeight`,type:`SmsSignupHeadingWeight | null`,id:`param-sms-signup-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupHeadingSize`,type:`SmsSignupHeadingSize | null`,id:`param-sms-signup-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupIntro`,type:`string`,id:`param-sms-signup-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`smsSignupIntroColor`,type:`string | null`,id:`param-sms-signup-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`smsSignupIntroColorLight`,type:`string | null`,id:`param-sms-signup-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`smsSignupIntroWeight`,type:`SmsSignupIntroWeight | null`,id:`param-sms-signup-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupIntroSize`,type:`SmsSignupIntroSize | null`,id:`param-sms-signup-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupBand`,type:`SmsSignupBand | null`,id:`param-sms-signup-band`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Plain sits on the page; Raised is a contained card; Accent is a solid brand-color band. One of `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupAccentColor`,type:`string | null`,id:`param-sms-signup-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The accent band color. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`smsSignupAccentColorLight`,type:`string | null`,id:`param-sms-signup-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`smsSignupAlign`,type:`SmsSignupAlign | null`,id:`param-sms-signup-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Alignment. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupLayout`,type:`SmsSignupLayout | null`,id:`param-sms-signup-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Inline puts the field + button on one row (stacks on small screens); Stacked always stacks them. One of `,_jsx(_components.code,{children:`inline`}),`, `,_jsx(_components.code,{children:`stacked`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupWidth`,type:`SmsSignupWidth | null`,id:`param-sms-signup-width`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Content width. One of `,_jsx(_components.code,{children:`narrow`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`wide`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupNameEnabled`,type:`boolean`,id:`param-sms-signup-name-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Collect a name.`]})}),_jsx(ResponseField,{name:`smsSignupNameLabel`,type:`string`,id:`param-sms-signup-name-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Name label.`]})}),_jsx(ResponseField,{name:`smsSignupNamePlaceholder`,type:`string`,id:`param-sms-signup-name-placeholder`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Name placeholder.`]})}),_jsx(ResponseField,{name:`smsSignupPhoneLabel`,type:`string`,id:`param-sms-signup-phone-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Phone label.`]})}),_jsx(ResponseField,{name:`smsSignupPhonePlaceholder`,type:`string`,id:`param-sms-signup-phone-placeholder`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Phone placeholder.`]})}),_jsx(ResponseField,{name:`smsSignupTermsText`,type:`string`,id:`param-sms-signup-terms-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Carrier-compliance fine print shown under the form.`]})}),_jsx(ResponseField,{name:`smsSignupPrivacyUrl`,type:`string`,id:`param-sms-signup-privacy-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional — linked from the fine print.`]})}),_jsx(ResponseField,{name:`smsSignupTermsUrl`,type:`string`,id:`param-sms-signup-terms-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional — linked from the fine print.`]})}),_jsx(ResponseField,{name:`smsSignupSuccessMessage`,type:`string`,id:`param-sms-signup-success-message`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Success message.`]})}),_jsx(ResponseField,{name:`smsSignupErrorMessage`,type:`string`,id:`param-sms-signup-error-message`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Error message.`]})}),_jsx(ResponseField,{name:`smsSignupBg`,type:`SmsSignupBg | null`,id:`param-sms-signup-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupBgCustom`,type:`string | null`,id:`param-sms-signup-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`smsSignupBgLight`,type:`SmsSignupBgLight | null`,id:`param-sms-signup-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupBgLightCustom`,type:`string | null`,id:`param-sms-signup-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`smsSignupFontOverrides`,type:`readonly SmsSignupWidgetSmsSignupFontOverridesItem[]`,id:`param-sms-signup-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`SmsSignupWidgetSmsSignupFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`SmsSignupWidgetSmsSignupFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-74`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly SmsSignupWidgetSmsSignupFontOverridesItemUploadsItem[]`,id:`param-uploads-14`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`SmsSignupWidgetSmsSignupFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`SmsSignupWidgetSmsSignupFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-75`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-70`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-71`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`smsSignupSubmitLabel`,type:`string`,id:`param-sms-signup-submit-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitVariant`,type:`SmsSignupSubmitVariant | null`,id:`param-sms-signup-submit-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitSize`,type:`SmsSignupSubmitSize | null`,id:`param-sms-signup-submit-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitRadius`,type:`SmsSignupSubmitRadius | null`,id:`param-sms-signup-submit-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitColor`,type:`string | null`,id:`param-sms-signup-submit-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitColorLight`,type:`string | null`,id:`param-sms-signup-submit-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`smsSignupSubmitTextColor`,type:`string | null`,id:`param-sms-signup-submit-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`smsSignupSubmitTextColorLight`,type:`string | null`,id:`param-sms-signup-submit-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitHoverColor`,type:`string | null`,id:`param-sms-signup-submit-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitHoverColorLight`,type:`string | null`,id:`param-sms-signup-submit-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitStyle`,type:`SmsSignupSubmitStyle | null`,id:`param-sms-signup-submit-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitShadowColor`,type:`string | null`,id:`param-sms-signup-submit-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitShadowColorLight`,type:`string | null`,id:`param-sms-signup-submit-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitAnimation`,type:`SmsSignupSubmitAnimation | null`,id:`param-sms-signup-submit-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitIcon`,type:`string`,id:`param-sms-signup-submit-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitIconFamily`,type:`SmsSignupSubmitIconFamily | null`,id:`param-sms-signup-submit-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitIconPosition`,type:`SmsSignupSubmitIconPosition | null`,id:`param-sms-signup-submit-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitIconNudge`,type:`boolean`,id:`param-sms-signup-submit-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-29`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-72`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`FormRenderWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`form-render`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`FormRenderWidgetType`,id:`param-type-32`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`form-render`}),`. One of `,_jsx(_components.code,{children:`form-render`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-76`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-36`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`form`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-form`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The form to show here. Build and edit the form itself in the Forms manager (create one there first if needed). The related `,_jsx(_components.code,{children:`@apostrophecms/form`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`styleOverride`,type:`boolean`,id:`param-style-override`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Off: the form renders with the styling saved on the form itself. On: the styling below replaces it here only — the form’s fields and other placements are unaffected.`]})}),_jsxs(ResponseField,{name:`formFontOverrides`,type:`readonly FormRenderWidgetFormFontOverridesItem[]`,id:`param-form-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FormRenderWidgetFormFontOverridesItem`}),`. Optional. Set part of this form in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`FormRenderWidgetFormFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-77`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly FormRenderWidgetFormFontOverridesItemUploadsItem[]`,id:`param-uploads-15`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FormRenderWidgetFormFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`FormRenderWidgetFormFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-78`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-73`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-74`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`formEyebrowEnabled`,type:`boolean`,id:`param-form-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show eyebrow.`]})}),_jsx(ResponseField,{name:`formEyebrow`,type:`string`,id:`param-form-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`formEyebrowColor`,type:`string | null`,id:`param-form-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`formEyebrowColorLight`,type:`string | null`,id:`param-form-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`formEyebrowWeight`,type:`FormEyebrowWeight | null`,id:`param-form-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formEyebrowSize`,type:`FormEyebrowSize | null`,id:`param-form-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formHeading`,type:`string`,id:`param-form-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Heading.`]})}),_jsx(ResponseField,{name:`formHeadingColor`,type:`string | null`,id:`param-form-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`formHeadingColorLight`,type:`string | null`,id:`param-form-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`formHeadingWeight`,type:`FormHeadingWeight | null`,id:`param-form-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formHeadingSize`,type:`FormHeadingSize | null`,id:`param-form-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formIntro`,type:`string`,id:`param-form-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`formIntroColor`,type:`string | null`,id:`param-form-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`formIntroColorLight`,type:`string | null`,id:`param-form-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`formIntroWeight`,type:`FormIntroWeight | null`,id:`param-form-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formIntroSize`,type:`FormIntroSize | null`,id:`param-form-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formBand`,type:`FormBand | null`,id:`param-form-band`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Plain sits on the page; Raised is a contained card; Accent is a solid brand-color band. One of `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formAccentColor`,type:`string | null`,id:`param-form-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The accent band color. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`formAccentColorLight`,type:`string | null`,id:`param-form-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`formAlign`,type:`FormAlign | null`,id:`param-form-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Alignment of the section header (the form fields stay left-aligned for legibility). One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formWidth`,type:`FormWidth | null`,id:`param-form-width`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Content width. One of `,_jsx(_components.code,{children:`narrow`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`wide`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formLabelGap`,type:`FormLabelGap | null`,id:`param-form-label-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vertical space between each field’s label and its input. One of `,_jsx(_components.code,{children:`compact`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`, `,_jsx(_components.code,{children:`spacious`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formBg`,type:`FormBg | null`,id:`param-form-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formBgCustom`,type:`string | null`,id:`param-form-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`formBgLight`,type:`FormBgLight | null`,id:`param-form-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formBgLightCustom`,type:`string | null`,id:`param-form-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`formSubmitLabel`,type:`string`,id:`param-form-submit-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`formSubmitVariant`,type:`FormSubmitVariant | null`,id:`param-form-submit-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitSize`,type:`FormSubmitSize | null`,id:`param-form-submit-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitRadius`,type:`FormSubmitRadius | null`,id:`param-form-submit-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitColor`,type:`string | null`,id:`param-form-submit-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`formSubmitColorLight`,type:`string | null`,id:`param-form-submit-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`formSubmitTextColor`,type:`string | null`,id:`param-form-submit-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`formSubmitTextColorLight`,type:`string | null`,id:`param-form-submit-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`formSubmitHoverColor`,type:`string | null`,id:`param-form-submit-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`formSubmitHoverColorLight`,type:`string | null`,id:`param-form-submit-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`formSubmitStyle`,type:`FormSubmitStyle | null`,id:`param-form-submit-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitShadowColor`,type:`string | null`,id:`param-form-submit-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`formSubmitShadowColorLight`,type:`string | null`,id:`param-form-submit-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`formSubmitAnimation`,type:`FormSubmitAnimation | null`,id:`param-form-submit-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitIcon`,type:`string`,id:`param-form-submit-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`formSubmitIconFamily`,type:`FormSubmitIconFamily | null`,id:`param-form-submit-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitIconPosition`,type:`FormSubmitIconPosition | null`,id:`param-form-submit-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitIconNudge`,type:`boolean`,id:`param-form-submit-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-30`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-75`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`FinalCtaWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`final-cta`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`FinalCtaWidgetType`,id:`param-type-33`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`final-cta`}),`. One of `,_jsx(_components.code,{children:`final-cta`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-79`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-37`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaAlign`,type:`CtaAlign | null`,id:`param-cta-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Content alignment. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaEyebrowEnabled`,type:`boolean`,id:`param-cta-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show eyebrow / kicker.`]})}),_jsx(ResponseField,{name:`ctaEyebrow`,type:`string`,id:`param-cta-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`ctaEyebrowColor`,type:`string | null`,id:`param-cta-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`ctaEyebrowColorLight`,type:`string | null`,id:`param-cta-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`ctaEyebrowWeight`,type:`CtaEyebrowWeight | null`,id:`param-cta-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaEyebrowSize`,type:`CtaEyebrowSize | null`,id:`param-cta-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaIconPlacement`,type:`CtaIconPlacement | null`,id:`param-cta-icon-placement`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. An optional Font Awesome icon above the headline. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`top`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaIcon`,type:`string`,id:`param-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`ctaIconFamily`,type:`CtaIconFamily | null`,id:`param-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaIconColor`,type:`string | null`,id:`param-cta-icon-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the design’s own color rhythm.`]})}),_jsx(ResponseField,{name:`ctaIconAnimation`,type:`CtaIconAnimation | null`,id:`param-cta-icon-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon animation. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`fa-beat`}),`, `,_jsx(_components.code,{children:`fa-bounce`}),`, `,_jsx(_components.code,{children:`fa-fade`}),`, `,_jsx(_components.code,{children:`fa-beat-fade`}),`, `,_jsx(_components.code,{children:`fa-flip`}),`, `,_jsx(_components.code,{children:`fa-shake`}),`, `,_jsx(_components.code,{children:`fa-spin`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaIconSize`,type:`CtaIconSize | null`,id:`param-cta-icon-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Relative to the component’s base icon size. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`, `,_jsx(_components.code,{children:`2xl`}),`, `,_jsx(_components.code,{children:`2x`}),`, `,_jsx(_components.code,{children:`3x`}),`, `,_jsx(_components.code,{children:`4x`}),`, `,_jsx(_components.code,{children:`5x`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaIconTilt`,type:`CtaIconTilt | null`,id:`param-cta-icon-tilt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A slight rotation for a more playful look. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaHeadline`,type:`string`,id:`param-cta-headline`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Headline.`]})}),_jsx(ResponseField,{name:`ctaHeadlineColor`,type:`string | null`,id:`param-cta-headline-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the headline color. Leave empty for the on-accent (legible-on-band) default.`]})}),_jsx(ResponseField,{name:`ctaHeadlineColorLight`,type:`string | null`,id:`param-cta-headline-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the on-accent default.`]})}),_jsx(ResponseField,{name:`ctaHeadlineWeight`,type:`CtaHeadlineWeight | null`,id:`param-cta-headline-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Headline weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaBody`,type:`string`,id:`param-cta-body`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Supporting copy.`]})}),_jsx(ResponseField,{name:`ctaBodyColor`,type:`string | null`,id:`param-cta-body-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the supporting-copy color. Leave empty for the softened on-accent default.`]})}),_jsx(ResponseField,{name:`ctaBodyColorLight`,type:`string | null`,id:`param-cta-body-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the softened on-accent default.`]})}),_jsx(ResponseField,{name:`ctaBodyWeight`,type:`CtaBodyWeight | null`,id:`param-cta-body-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaBackgroundType`,type:`CtaBackgroundType | null`,id:`param-cta-background-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid keeps the loud color block; Image places a photo behind the text with a readability overlay. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`image`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaBackgroundColor`,type:`string | null`,id:`param-cta-background-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The solid band color (and the fallback behind a background image). Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`ctaBackgroundColorLight`,type:`string | null`,id:`param-cta-background-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`ctaImage`,type:`ImageArea`,id:`param-cta-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. An `,_jsx(_components.code,{children:`ImageArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area. Its fields are listed under the first `,_jsx(_components.code,{children:`ImageArea`}),` above.`]})}),_jsx(ResponseField,{name:`ctaOverlayColor`,type:`string | null`,id:`param-cta-overlay-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Scrim over the image to keep the text readable. Leave empty to use the accent color.`]})}),_jsx(ResponseField,{name:`ctaOverlayColorLight`,type:`string | null`,id:`param-cta-overlay-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme overlay, then the accent.`]})}),_jsx(ResponseField,{name:`ctaOverlayOpacity`,type:`number | null`,id:`param-cta-overlay-opacity`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Overlay opacity (%). 0 to 100.`]})}),_jsx(ResponseField,{name:`ctaRings`,type:`boolean`,id:`param-cta-rings`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The two large outlined circles on the band.`]})}),_jsx(ResponseField,{name:`ctaRingColor`,type:`string | null`,id:`param-cta-ring-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Drawn at a low opacity. Leave empty to use the on-accent (white-ish) default.`]})}),_jsxs(ResponseField,{name:`ctaFontOverrides`,type:`readonly FinalCtaWidgetCtaFontOverridesItem[]`,id:`param-cta-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FinalCtaWidgetCtaFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`FinalCtaWidgetCtaFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-80`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly FinalCtaWidgetCtaFontOverridesItemUploadsItem[]`,id:`param-uploads-16`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FinalCtaWidgetCtaFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`FinalCtaWidgetCtaFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-81`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-76`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-77`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`ctaPrimaryLabel`,type:`string`,id:`param-cta-primary-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`ctaPrimaryUrl`,type:`string`,id:`param-cta-primary-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`ctaPrimaryNewTab`,type:`boolean`,id:`param-cta-primary-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`ctaPrimaryVariant`,type:`CtaPrimaryVariant | null`,id:`param-cta-primary-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimarySize`,type:`CtaPrimarySize | null`,id:`param-cta-primary-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimaryRadius`,type:`CtaPrimaryRadius | null`,id:`param-cta-primary-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimaryColor`,type:`string | null`,id:`param-cta-primary-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`ctaPrimaryColorLight`,type:`string | null`,id:`param-cta-primary-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`ctaPrimaryTextColor`,type:`string | null`,id:`param-cta-primary-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`ctaPrimaryTextColorLight`,type:`string | null`,id:`param-cta-primary-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`ctaPrimaryHoverColor`,type:`string | null`,id:`param-cta-primary-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`ctaPrimaryHoverColorLight`,type:`string | null`,id:`param-cta-primary-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`ctaPrimaryStyle`,type:`CtaPrimaryStyle | null`,id:`param-cta-primary-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimaryShadowColor`,type:`string | null`,id:`param-cta-primary-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`ctaPrimaryShadowColorLight`,type:`string | null`,id:`param-cta-primary-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`ctaPrimaryAnimation`,type:`CtaPrimaryAnimation | null`,id:`param-cta-primary-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimaryIcon`,type:`string`,id:`param-cta-primary-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`ctaPrimaryIconFamily`,type:`CtaPrimaryIconFamily | null`,id:`param-cta-primary-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimaryIconPosition`,type:`CtaPrimaryIconPosition | null`,id:`param-cta-primary-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimaryIconNudge`,type:`boolean`,id:`param-cta-primary-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`ctaSecondaryLabel`,type:`string`,id:`param-cta-secondary-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`ctaSecondaryUrl`,type:`string`,id:`param-cta-secondary-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`ctaSecondaryNewTab`,type:`boolean`,id:`param-cta-secondary-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`ctaSecondaryVariant`,type:`CtaSecondaryVariant | null`,id:`param-cta-secondary-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondarySize`,type:`CtaSecondarySize | null`,id:`param-cta-secondary-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondaryRadius`,type:`CtaSecondaryRadius | null`,id:`param-cta-secondary-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondaryColor`,type:`string | null`,id:`param-cta-secondary-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`ctaSecondaryColorLight`,type:`string | null`,id:`param-cta-secondary-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`ctaSecondaryTextColor`,type:`string | null`,id:`param-cta-secondary-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`ctaSecondaryTextColorLight`,type:`string | null`,id:`param-cta-secondary-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`ctaSecondaryHoverColor`,type:`string | null`,id:`param-cta-secondary-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`ctaSecondaryHoverColorLight`,type:`string | null`,id:`param-cta-secondary-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`ctaSecondaryStyle`,type:`CtaSecondaryStyle | null`,id:`param-cta-secondary-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondaryShadowColor`,type:`string | null`,id:`param-cta-secondary-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`ctaSecondaryShadowColorLight`,type:`string | null`,id:`param-cta-secondary-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`ctaSecondaryAnimation`,type:`CtaSecondaryAnimation | null`,id:`param-cta-secondary-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondaryIcon`,type:`string`,id:`param-cta-secondary-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`ctaSecondaryIconFamily`,type:`CtaSecondaryIconFamily | null`,id:`param-cta-secondary-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondaryIconPosition`,type:`CtaSecondaryIconPosition | null`,id:`param-cta-secondary-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondaryIconNudge`,type:`boolean`,id:`param-cta-secondary-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-31`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-78`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]})]}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-79`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsxs(ResponseField,{name:`postFontOverrides`,type:`readonly BlogPostFontOverridesItem[] | null`,id:`param-post-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A list of `,_jsx(_components.code,{children:`BlogPostFontOverridesItem`}),`. Optional. Leave empty to follow the blog’s Reading settings (and, through them, the site fonts). Adding a row here replaces the blog-wide choice for this post only. At most 4 items.`]}),_jsxs(Expandable,{title:`BlogPostFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-82`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly BlogPostFontOverridesItemUploadsItem[]`,id:`param-uploads-17`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`BlogPostFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`BlogPostFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-83`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-80`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-81`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`seoTitle`,type:`string | null`,id:`param-seo-title`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Overrides the document title in the browser tab and search results. Leave blank to use the regular title.`]})}),_jsx(ResponseField,{name:`seoDescription`,type:`string | null`,id:`param-seo-description`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Shown in search results and link previews. Aim for 150–160 characters.`]})}),_jsx(ResponseField,{name:`seoImage`,type:`ImageArea`,id:`param-seo-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. An `,_jsx(_components.code,{children:`ImageArea`}),`. Used for Open Graph / social link previews. Recommended 1200×630. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area. Its fields are listed under the first `,_jsx(_components.code,{children:`ImageArea`}),` above.`]})}),_jsx(ResponseField,{name:`archived`,type:`boolean | null`,id:`param-archived`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. In the archive: kept, but out of every list and off the site until it is restored. `,_jsx(_components.code,{children:`false`}),` (or null) for a live document.`]})}),_jsx(ResponseField,{name:`createdAt`,type:`Date | null`,id:`param-created-at`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. When it was created (ISO 8601). Format: an ISO 8601 date and time.`]})}),_jsx(ResponseField,{name:`updatedAt`,type:`Date | null`,id:`param-updated-at`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. When it last changed (ISO 8601). Format: an ISO 8601 date and time.`]})}),_jsx(ResponseField,{name:`url`,type:`string | null`,id:`param-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The document’s page on the site. Format: an absolute URL.`]})}),_jsx(ResponseField,{name:`parentUrl`,type:`string | null`,id:`param-parent-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The page that lists it (the blog page). Format: an absolute URL.`]})}),_jsx(ResponseField,{name:`parentSlug`,type:`string | null`,id:`param-parent-slug`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. That page’s slug.`]})}),_jsx(ResponseField,{name:`parent`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-parent`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. That page, briefly (`,_jsx(_components.code,{children:`_id`}),`, `,_jsx(_components.code,{children:`title`}),`, `,_jsx(_components.code,{children:`slug`}),`, `,_jsx(_components.code,{children:`type`}),`, `,_jsx(_components.code,{children:`path`}),`, `,_jsx(_components.code,{children:`level`}),`).`]})}),_jsx(ResponseField,{name:`aposShareKey`,type:`string | null`,id:`param-apos-share-key`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The draft’s preview share key, while its share link is on: the link is the draft’s `,_jsx(_components.code,{children:`_url`}),` with `,_jsx(_components.code,{children:`aposShareKey`}),` and `,_jsx(_components.code,{children:`aposShareId`}),` (the draft’s `,_jsx(_components.code,{children:`_id`}),`) in its query. Absent otherwise, and on published documents.`]})})]}),_jsxs(Accordion,{title:`Errors`,icon:`triangle-exclamation`,id:`errors`,children:[_jsxs(_components.p,{children:[`Nothing to catch: the SDK retries what is safe, and throws the rest as the classes below. Your exception handler turns them into your app’s own answers, once for every call (see `,_jsx(_components.a,{href:`/adonisjs/calling-the-api#map-sdk-errors-to-responses`,children:`Map SDK errors to responses`}),`); catch only what you want to react to here.`]}),_jsxs(ResponseField,{name:`ValidationFailed`,type:`400`,id:`param-validation-failed`,children:[_jsxs(_components.p,{children:[`The site refused what was sent: `,_jsx(_components.code,{children:`errors`}),` lists each field’s problem, `,_jsx(_components.code,{children:`siteMessage`}),` the first.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`errors`}),` (field → messages), `,_jsx(_components.code,{children:`siteMessage`}),`.`]})]}),_jsxs(ResponseField,{name:`AuthenticationFailed`,type:`401`,id:`param-authentication-failed`,children:[_jsx(_components.p,{children:`The API key is missing or refused (malformed, revoked, expired), or a signature its signing mode needs is missing or stale.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`siteMessage`}),`, `,_jsx(_components.code,{children:`errorName`}),`, `,_jsx(_components.code,{children:`data`}),`.`]})]}),_jsxs(ResponseField,{name:`Forbidden`,type:`403`,id:`param-forbidden`,children:[_jsxs(_components.p,{children:[`The key may not do this: a scope it lacks, or an address outside its allowlist. `,_jsx(_components.code,{children:`siteMessage`}),` names it.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`siteMessage`}),`, `,_jsx(_components.code,{children:`errorName`}),`, `,_jsx(_components.code,{children:`data`}),`.`]})]}),_jsxs(ResponseField,{name:`NotFound`,type:`404`,id:`param-not-found`,children:[_jsx(_components.p,{children:`Nothing matches, or the caller may not see it.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`siteMessage`}),`, `,_jsx(_components.code,{children:`errorName`}),`, `,_jsx(_components.code,{children:`data`}),`.`]})]}),_jsxs(ResponseField,{name:`SiteError`,type:`500`,id:`param-site-error`,children:[_jsx(_components.p,{children:`The site failed. Its logs say why.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No: a write may have landed. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`siteMessage`}),`, `,_jsx(_components.code,{children:`errorName`}),`, `,_jsx(_components.code,{children:`data`}),`.`]})]}),_jsxs(ResponseField,{name:`SiteUnreachable`,type:`no answer`,id:`param-site-unreachable`,children:[_jsx(_components.p,{children:`No answer: DNS, a refused connection, TLS, or the timeout (15 s per attempt by default).`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` Only when nothing reached the site (`,_jsx(_components.code,{children:`neverConnected()`}),`); never after a timeout, when it may have landed. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`reason`}),`, `,_jsx(_components.code,{children:`neverConnected`}),`.`]})]}),_jsxs(ResponseField,{name:`RequestNotSent`,type:`not sent`,id:`param-request-not-sent`,children:[_jsxs(_components.p,{children:[`The client refused to send it (e.g. a path segment of `,_jsx(_components.code,{children:`..`}),`); the site never saw it.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`reason`}),` (what to change).`]})]}),_jsxs(ResponseField,{name:`SiteRequestFailed`,type:`any other`,id:`param-site-request-failed`,children:[_jsx(_components.p,{children:`Any other status, or a success whose JSON doesn’t match this SDK version’s types (update the SDK).`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`reason`}),`, `,_jsx(_components.code,{children:`status`}),`.`]})]}),_jsxs(ResponseField,{name:`UnknownSite`,type:`setup`,id:`param-unknown-site`,children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`sites.forSite('acme')`}),` named a slug `,_jsx(_components.code,{children:`config/attract.ts`}),` doesn’t list (with the keys in the database: no row in `,_jsx(_components.code,{children:`attract_api_keys`}),`).`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No: nothing was sent. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`message`}),`, `,_jsx(_components.code,{children:`slug`}),`.`]})]}),_jsxs(ResponseField,{name:`SiteConfigurationError`,type:`setup`,id:`param-site-configuration-error`,children:[_jsxs(_components.p,{children:[`The site’s entry is wrong: a malformed `,_jsx(_components.code,{children:`baseUrl`}),` or key, a key filed under another slug, or no default site. `,_jsx(_components.code,{children:`node ace attract:check`}),` names the fix.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No: nothing was sent. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`message`}),` (what to fix).`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`behavior`,children:`Behavior`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Access:`}),` an API key with `,_jsx(_components.code,{children:`content:blog:publish`}),` (or a master above it: `,_jsx(_components.code,{children:`content:blog:all`}),`, `,_jsx(_components.code,{children:`content:all`}),`, `,_jsx(_components.code,{children:`admin:all`}),`). A signed-in person may call it as far as their own permissions allow; anyone else gets 403.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Rate limit:`}),` the key’s own writes-per-minute limit, set when the key is created (default 120); over it, 429 with `,_jsx(_components.code,{children:`Retry-After`}),`. The client waits and retries for you; you see `,_jsx(_components.code,{children:`RateLimited`}),` only if that runs out.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Retries:`}),` a write is sent again only after a 429 (refused before it acted) or when it never reached the site. After a timeout or a 5xx it may have landed: check before you send it again.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Timeout:`}),` 15 s per attempt by default; raise `,_jsx(_components.code,{children:`timeout`}),` (milliseconds) in `,_jsx(_components.code,{children:`config/attract.ts`}),` for longer.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`test-it`,children:`Test it`}),`\n`,_jsxs(_components.p,{children:[`It calls the controller above with the SDK faked: `,_jsx(_components.code,{children:`fakeAttract()`}),` puts the fake in the container for this one test, and it answers every call with a valid example, so nothing leaves your machine and no key is read. Save it as `,_jsx(_components.code,{children:`tests/unit/blog_posts_publish_blog.spec.ts`}),`, then run your tests:`]}),`\n`,_jsx(CodeBlock,{filename:`tests/unit/blog_posts_publish_blog.spec.ts`,numberOfLines:`16`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`test`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@japa/runner'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` app`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@adonisjs/core/services/app'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` testUtils`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@adonisjs/core/services/test_utils'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`fakeAttract`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@fetchski/attract-cms-adonis/testing'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` PublishBlogController`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '#controllers/publish_blog_controller'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`test`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'blogPosts.publishBlog'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` () `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`fakeAttract`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` ctx`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` testUtils`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`createHttpContext`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` ctx`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`params`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`id:`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'clx8m2k4p0000a1b2c3d4e5f6'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` controller`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` app`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`container`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`PublishBlogController`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` controller`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`handle`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`ctx`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`assertCalled`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'blogPosts.publishBlog'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, (`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`args`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` args`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` === `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'clx8m2k4p0000a1b2c3d4e5f6'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`})`})}),`\n`]})})}),`\n`,_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`node`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` ace`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` test`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Answer with your own values:`}),` fake `,_jsx(_components.code,{children:`blogPosts.publishBlog`}),` with `,_jsx(_components.code,{children:`factories.Blog({...})`}),`, the fields you give over a valid example.`]}),`\n`,_jsx(CodeBlock,{filename:`tests/unit/blog_posts_publish_blog_answers.spec.ts`,numberOfLines:`11`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`test`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@japa/runner'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`factories`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`fakeAttract`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@fetchski/attract-cms-adonis/testing'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`test`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'blogPosts.publishBlog answers your values'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ({ `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`assert`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }) `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`fakeAttract`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'blogPosts.publishBlog'`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` factories`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`Blog`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`title:`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'Your value'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` })`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` blog`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`blogPosts`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`publishBlog`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`id:`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'clx8m2k4p0000a1b2c3d4e5f6'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` })`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` assert`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`containSubset`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`blog`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`title:`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'Your value'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` })`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`})`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(Columns,{cols:2,children:[_jsx(Card,{title:`List a blog post’s locales`,icon:`globe`,href:`/adonisjs/reference/blog-posts/get-blog-locales`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`site.blogPosts().getBlogLocales()`})})}),_jsx(Card,{title:`Get the Markdown template`,icon:`magnifying-glass`,href:`/adonisjs/reference/blog-posts/get-blog-markdown-template`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`site.blogPosts().getBlogMarkdownTemplate()`})})}),_jsx(Card,{title:`Get the MDX template`,icon:`magnifying-glass`,href:`/adonisjs/reference/blog-posts/get-blog-mdx-template`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`site.blogPosts().getBlogMdxTemplate()`})})}),_jsx(Card,{title:`List blog posts`,icon:`list`,href:`/adonisjs/reference/blog-posts/list-blogs`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`site.blogPosts().listBlogs()`})})}),_jsx(Card,{title:`Create a blog post`,icon:`plus`,href:`/adonisjs/reference/blog-posts/create-blog`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`site.blogPosts().createBlog()`})})}),_jsx(Card,{title:`Get a blog post`,icon:`eye`,href:`/adonisjs/reference/blog-posts/get-blog`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`site.blogPosts().getBlog()`})})})]}),`\n`,_jsx(Card,{title:`POST /@apostrophecms/blog/{_id}/publish`,icon:`code`,href:`/api-reference/blog-posts/publish-a-blog-post`,arrow:true,horizontal:true,children:_jsx(_components.p,{children:`The endpoint this calls, in the API reference: the HTTP request and answer, and every rule the site checks.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Publish a blog post","sidebarTitle":"Publish","description":"Publishes the draft: its content becomes the published document.","icon":"paper-plane","href":"/adonisjs/reference/blog-posts/publish-blog"}}},"mdxSourceWithNoJs":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Card,CodeBlock,Columns,Expandable,Heading,ParamField,RequestExample,ResponseExample,ResponseField,Step,Steps}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Columns)_missingMdxReference(`Columns`,true);if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!RequestExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);return _jsxs(_Fragment,{children:[_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:`AdonisJS`,wrap:`true`,numberOfLines:`5`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` app`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@adonisjs/core/services/app'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`SiteClient`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@fetchski/attract-cms-sdk'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` app`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`container`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`SiteClient`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` blog`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`blogPosts`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`publishBlog`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`id:`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'clx8m2k4p0000a1b2c3d4e5f6'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` })`})]}),`\n`]})})})}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`200`,wrap:`true`,numberOfLines:`130`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`130`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"title\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example title\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_author\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_category\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"publishedAt\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"2026-10-24\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"slug\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"example-slug\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"visibility\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"public\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"scheduledPublish\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example scheduled publish\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"scheduledUnpublish\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example scheduled unpublish\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"excerpt\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example excerpt\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"featuredImage\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"metaType\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"area\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"clx8m2k4p0000a1b2c3d4e5f6\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"items\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"@apostrophecms/image\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"clx8m2k4p0000a1b2c3d4e5f6\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"metaType\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"widget\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_image\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"caption\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example caption\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"linkTo\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"none\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_apostrophecms-any-page-type\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"linkHref\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"https://acme.example/example\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"linkHrefTitle\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example link href title\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"linkTitle\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example link title\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"linkTarget\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"_blank\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"sectionCss\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"slots\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example value\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"css\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example css\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"mark\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example mark\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"main\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"metaType\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"area\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"clx8m2k4p0000a1b2c3d4e5f6\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"items\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"@apostrophecms/rich-text\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"clx8m2k4p0000a1b2c3d4e5f6\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"metaType\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"widget\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"content\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"\u003cp>Hello from the API.\u003c/p>\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"sectionCss\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"slots\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"css\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example css\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"mark\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example mark\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"afterContent\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"metaType\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"area\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"clx8m2k4p0000a1b2c3d4e5f6\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"items\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"@apostrophecms/layout\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"clx8m2k4p0000a1b2c3d4e5f6\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"metaType\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"widget\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"columns\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"metaType\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"area\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"clx8m2k4p0000a1b2c3d4e5f6\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"items\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: []`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"sectionCss\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"slots\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"css\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example css\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"mark\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example mark\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"postFontOverrides\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"seoTitle\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example seo title\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"seoDescription\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example seo description\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"seoImage\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"metaType\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"area\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"clx8m2k4p0000a1b2c3d4e5f6\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"items\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"@apostrophecms/image\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"clx8m2k4p0000a1b2c3d4e5f6\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"metaType\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"widget\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_image\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"caption\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example caption\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"linkTo\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"none\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_apostrophecms-any-page-type\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {}`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"linkHref\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"https://acme.example/example\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"linkHrefTitle\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example link href title\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"linkTitle\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example link title\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"linkTarget\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` \"_blank\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"sectionCss\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"slots\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example value\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"css\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example css\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"mark\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example mark\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"archived\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`false`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_id\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"clx8m2k4p0000a1b2c3d4e5f6\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"type\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"Example type\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"createdAt\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"2026-10-24T09:30:00.000Z\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"updatedAt\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"2026-10-24T09:30:00.000Z\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_url\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"https://acme.example/example\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_parentUrl\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"https://acme.example/example\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_parentSlug\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"example-slug\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"_parent\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: {},`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` \"aposShareKey\"`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`\"k3v9x2m7q1z8w4p6\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),`\n`,_jsx(Heading,{level:`2`,id:`in-your-app`,children:`In your app`}),`\n`,_jsxs(_components.p,{children:[`A controller answers a route on your app: it calls `,_jsx(_components.code,{children:`publishBlog()`}),` and returns the answer.`]}),`\n`,_jsxs(Steps,{children:[_jsx(Step,{title:`Add the controller`,icon:`file-code`,children:_jsx(CodeBlock,{filename:`app/controllers/publish_blog_controller.ts`,numberOfLines:`12`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`inject`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@adonisjs/core'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` type`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`HttpContext`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@adonisjs/core/http'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`SiteClient`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@fetchski/attract-cms-sdk'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`@`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`inject`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`export`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` default`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` class`}),_jsx(_components.span,{style:{color:`#4EC9B0`,\"--shiki-dark\":`#4EC9B0`},children:` PublishBlogController`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` constructor`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`protected`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#4EC9B0`,\"--shiki-dark\":`#4EC9B0`},children:`SiteClient`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`) {}`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` async`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:` handle`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`params`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }: `}),_jsx(_components.span,{style:{color:`#4EC9B0`,\"--shiki-dark\":`#4EC9B0`},children:`HttpContext`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` return`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` this`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`blogPosts`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`publishBlog`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`id:`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` params`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` })`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})}),_jsxs(Step,{title:`Add the route`,icon:`route`,children:[_jsx(CodeBlock,{filename:`start/routes.ts`,numberOfLines:`5`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` router`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@adonisjs/core/services/router'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:` PublishBlogController`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = () `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'#controllers/publish_blog_controller'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`router`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`post`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'/blog/:id/publish'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, [`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`PublishBlogController`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`])`})]}),`\n`]})})}),_jsxs(_components.p,{children:[`Put it behind your auth middleware (`,_jsx(_components.code,{children:`.use(middleware.auth())`}),`): it acts with your key’s access.`]})]}),_jsx(Step,{title:`Call it`,icon:`play`,children:_jsxs(_components.p,{children:[`Your own page’s form or script sends `,_jsx(_components.code,{children:`POST /blog/clx8m2k4p0000a1b2c3d4e5f6/publish`}),` and gets back its answer as JSON. Test it, below, calls it.`]})})]}),`\n`,_jsx(_components.p,{children:`Answers the draft.`}),`\n`,_jsx(Heading,{level:`2`,id:`find-the-id`,children:`Find the id`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`id`}),` is the document’s `,_jsx(_components.code,{children:`_id`}),`, from a list. Ask the list for only the fields you need: each row is a document’s `,_jsx(_components.code,{children:`id`}),` and those fields.`]}),`\n`,_jsx(CodeBlock,{filename:`AdonisJS`,wrap:`true`,numberOfLines:`5`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` app`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@adonisjs/core/services/app'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`SiteClient`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@fetchski/attract-cms-sdk'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` app`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`container`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`SiteClient`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` row`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = (`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`blogPosts`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`listBlogsPick`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`([`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'title'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'slug'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`])).`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`find`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`((`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`each`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` each`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`slug`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` === `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'getting-started'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#6A9955`,\"--shiki-dark\":`#6A9955`},children:`// { id, title, slug }, or undefined`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Pass `,_jsx(_components.code,{children:`row.id`}),` as `,_jsx(_components.code,{children:`id`}),`. Drafts: list with `,_jsx(_components.code,{children:`{ aposMode: 'draft' }`}),` to get the draft’s id (`,_jsx(_components.a,{href:`/find-an-id`,children:`Find an id`}),`).`]}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Required parameters`,icon:`asterisk`,defaultOpen:true,id:`required-parameters`,children:[_jsxs(_components.p,{children:[`One object, e.g. `,_jsx(_components.code,{children:`publishBlog({ id })`}),`; leave out the optional fields.`]}),_jsx(ParamField,{path:`id`,type:`string`,required:true,id:`param-id`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Required.`}),` The document’s `,_jsx(_components.code,{children:`_id`}),`: a full id names its own locale and mode (the draft’s `,_jsx(_components.code,{children:`…:en:draft`}),`, the published one’s `,_jsx(_components.code,{children:`…:en:published`}),`; no `,_jsx(_components.code,{children:`aposMode`}),` needed), a bare `,_jsx(_components.code,{children:`aposDocId`}),` takes the request’s (`,_jsx(_components.code,{children:`aposLocale`}),`, `,_jsx(_components.code,{children:`aposMode`}),`).`]})})]}),_jsxs(Accordion,{title:`Returns`,icon:`reply`,id:`returns`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`Blog`}),`. Blog content type. Read its properties (`,_jsx(_components.code,{children:`blog.title`}),`): each says whether the site always sends it. The example answer is the site’s wire JSON: some keys differ from the property names (`,_jsx(_components.code,{children:`_id`}),` → `,_jsx(_components.code,{children:`id`}),`, `,_jsx(_components.code,{children:`_author`}),` → `,_jsx(_components.code,{children:`author`}),`, `,_jsx(_components.code,{children:`_category`}),` → `,_jsx(_components.code,{children:`category`}),` …).`]}),_jsx(ResponseField,{name:`title`,type:`string`,id:`param-title`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Its title: the name it goes by in every list, and the heading of its page where it has one.`]})}),_jsx(ResponseField,{name:`publishedAt`,type:`Date`,id:`param-published-at`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The post’s publication date (`,_jsx(_components.code,{children:`YYYY-MM-DD`}),`, e.g. `,_jsx(_components.code,{children:`2026-10-21`}),`): the date it shows, and its place in the blog list, newest first. Format: an ISO 8601 date (`,_jsx(_components.code,{children:`YYYY-MM-DD`}),`).`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The document’s id. On a type with drafts it ends in its locale and mode (`,_jsx(_components.code,{children:`…:en:published`}),`, `,_jsx(_components.code,{children:`…:en:draft`}),`): the part before the first colon is its `,_jsx(_components.code,{children:`aposDocId`}),`, shared by both copies. The `,_jsx(_components.code,{children:`{_id}`}),` the type’s routes take.`]})}),_jsx(ResponseField,{name:`type`,type:`string`,id:`param-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The document type’s name: always this type’s.`]})}),_jsx(ResponseField,{name:`author`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[] | null`,id:`param-author`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Credited author. Pick from the Authors collection — their profile photo shows alongside the post. The related `,_jsx(_components.code,{children:`author`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`category`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[] | null`,id:`param-category`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The post’s category. Manage the list (and each badge color) under Blog Categories. The related `,_jsx(_components.code,{children:`blog-category`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`slug`,type:`string | null`,id:`param-slug`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The URL name: lowercase words joined by hyphens (letters outside a–z, even emoji, are kept).`]})}),_jsx(ResponseField,{name:`visibility`,type:`Visibility | null`,id:`param-visibility`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Select whether this content is public or private. One of `,_jsx(_components.code,{children:`public`}),`, `,_jsx(_components.code,{children:`loginRequired`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`scheduledPublish`,type:`string | null`,id:`param-scheduled-publish`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. An ISO 8601 date and time, e.g. `,_jsx(_components.code,{children:`2026-10-21T14:30:00.000Z`}),`.`]})}),_jsx(ResponseField,{name:`scheduledUnpublish`,type:`string | null`,id:`param-scheduled-unpublish`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. An ISO 8601 date and time, e.g. `,_jsx(_components.code,{children:`2026-10-21T14:30:00.000Z`}),`.`]})}),_jsx(ResponseField,{name:`excerpt`,type:`string | null`,id:`param-excerpt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Short teaser shown on the blog index and homepage. 1–2 sentences.`]})}),_jsxs(ResponseField,{name:`featuredImage`,type:`ImageArea`,id:`param-featured-image`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. An `,_jsx(_components.code,{children:`ImageArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area.`]}),_jsxs(Expandable,{title:`ImageArea`,children:[_jsx(ResponseField,{name:`metaType`,type:`AfterContentAreaMetaType`,id:`param-meta-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`area`}),`. One of `,_jsx(_components.code,{children:`area`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The area’s id, set by the site: leave it out when you write one.`]})}),_jsxs(ResponseField,{name:`items`,type:`readonly ImageWidget[]`,id:`param-items`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`ImageWidget`}),`. The widgets, top to bottom. Each is an object with its `,_jsx(_components.code,{children:`type`}),` and that widget’s own fields; `,_jsx(_components.code,{children:`_id`}),` and `,_jsx(_components.code,{children:`metaType`}),` may be left out (the site sets them). At most 1 items.`]}),_jsxs(Expandable,{title:`ImageWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/image`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`ImageWidgetType`,id:`param-type-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/image`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/image`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`image`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`caption`,type:`string`,id:`param-caption`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Caption.`]})}),_jsx(ResponseField,{name:`linkTo`,type:`LinkTo | null`,id:`param-link-to`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Link To… One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`@apostrophecms/any-page-type`}),`, `,_jsx(_components.code,{children:`_url`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`apostrophecmsAnyPageType`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-apostrophecms-any-page-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The related `,_jsx(_components.code,{children:`@apostrophecms/any-page-type`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`linkHref`,type:`string | null`,id:`param-link-href`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. apostrophe:linkHrefHelp When set, a URL; empty or null when not.`]})}),_jsx(ResponseField,{name:`linkHrefTitle`,type:`string`,id:`param-link-href-title`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Link Title.`]})}),_jsx(ResponseField,{name:`linkTitle`,type:`string`,id:`param-link-title`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. If empty, the title of the related document will be used.`]})}),_jsx(ResponseField,{name:`linkTarget`,type:`readonly LinkTarget[] | null`,id:`param-link-target`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Link Target. Each one of `,_jsx(_components.code,{children:`_blank`}),`.`]})}),_jsxs(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot.`]}),_jsxs(Expandable,{title:`CustomCSS`,children:[_jsx(ResponseField,{name:`slots`,type:`Readonly\u003cRecord\u003cstring, string>>`,id:`param-slots`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The CSS typed into each part slot, by slot name.`]})}),_jsx(ResponseField,{name:`css`,type:`string`,id:`param-css`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The compiled CSS (read only: rebuilt from `,_jsx(_components.code,{children:`slots`}),`).`]})}),_jsx(ResponseField,{name:`mark`,type:`string`,id:`param-mark`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The site’s check mark for `,_jsx(_components.code,{children:`css`}),` (read only).`]})})]})]}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsxs(ResponseField,{name:`main`,type:`BlogMainArea`,id:`param-main`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A `,_jsx(_components.code,{children:`BlogMainArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area. A new document starts with `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`.`]}),_jsxs(Expandable,{title:`BlogMainArea`,children:[_jsx(ResponseField,{name:`metaType`,type:`AfterContentAreaMetaType`,id:`param-meta-type-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`area`}),`. One of `,_jsx(_components.code,{children:`area`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The area’s id, set by the site: leave it out when you write one.`]})}),_jsxs(ResponseField,{name:`items`,type:`readonly BlogMainAreaItem[]`,id:`param-items-1`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`BlogMainAreaItem`}),`. The widgets, top to bottom. Each is an object with its `,_jsx(_components.code,{children:`type`}),` and that widget’s own fields; `,_jsx(_components.code,{children:`_id`}),` and `,_jsx(_components.code,{children:`metaType`}),` may be left out (the site sets them).`]}),_jsxs(Expandable,{title:`BlogMainAreaItem`,children:[_jsxs(_components.p,{children:[`A widget in an area that takes `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`, `,_jsx(_components.code,{children:`@apostrophecms/image`}),`, `,_jsx(_components.code,{children:`@apostrophecms/video`}),`, `,_jsx(_components.code,{children:`@apostrophecms/layout`}),`, `,_jsx(_components.code,{children:`intro`}),`, `,_jsx(_components.code,{children:`feature`}),`, `,_jsx(_components.code,{children:`stats`}),`, `,_jsx(_components.code,{children:`steps`}),`, `,_jsx(_components.code,{children:`pricing`}),`, `,_jsx(_components.code,{children:`media-text`}),`, `,_jsx(_components.code,{children:`device-mock`}),`, `,_jsx(_components.code,{children:`faq`}),`: the one its `,_jsx(_components.code,{children:`type`}),` names.`]}),_jsxs(Expandable,{title:`RichTextWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`RichTextWidgetType`,id:`param-type-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`content`,type:`string`,id:`param-content`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The text as HTML, e.g. `,_jsx(_components.code,{children:`\u003ch2>Our story\u003c/h2>\u003cp>It began with \u003cstrong>one\u003c/strong> idea.\u003c/p>`}),`. The site keeps the tags and styles this area’s editor offers (paragraphs, headings, bold, italic, links, lists…) and removes the rest.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`ImageWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/image`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`ImageWidgetType`,id:`param-type-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/image`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/image`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`image`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-image-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`caption`,type:`string`,id:`param-caption-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Caption.`]})}),_jsx(ResponseField,{name:`linkTo`,type:`LinkTo | null`,id:`param-link-to-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Link To… One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`@apostrophecms/any-page-type`}),`, `,_jsx(_components.code,{children:`_url`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`apostrophecmsAnyPageType`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-apostrophecms-any-page-type-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The related `,_jsx(_components.code,{children:`@apostrophecms/any-page-type`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`linkHref`,type:`string | null`,id:`param-link-href-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. apostrophe:linkHrefHelp When set, a URL; empty or null when not.`]})}),_jsx(ResponseField,{name:`linkHrefTitle`,type:`string`,id:`param-link-href-title-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Link Title.`]})}),_jsx(ResponseField,{name:`linkTitle`,type:`string`,id:`param-link-title-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. If empty, the title of the related document will be used.`]})}),_jsx(ResponseField,{name:`linkTarget`,type:`readonly LinkTarget[] | null`,id:`param-link-target-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Link Target. Each one of `,_jsx(_components.code,{children:`_blank`}),`.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`VideoWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/video`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`VideoWidgetType`,id:`param-type-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/video`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`video`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-video`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Enter the URL for a media source you wish to embed (e.g., YouTube, Vimeo, or other hosted video URL).`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`LayoutWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/layout`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`LayoutWidgetType`,id:`param-type-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/layout`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/layout`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsxs(ResponseField,{name:`columns`,type:`LayoutColumnArea`,id:`param-columns`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A `,_jsx(_components.code,{children:`LayoutColumnArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area.`]}),_jsxs(Expandable,{title:`LayoutColumnArea`,children:[_jsx(ResponseField,{name:`metaType`,type:`AfterContentAreaMetaType`,id:`param-meta-type-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`area`}),`. One of `,_jsx(_components.code,{children:`area`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The area’s id, set by the site: leave it out when you write one.`]})}),_jsxs(ResponseField,{name:`items`,type:`readonly LayoutColumnWidget[]`,id:`param-items-2`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`LayoutColumnWidget`}),`. The widgets, top to bottom. Each is an object with its `,_jsx(_components.code,{children:`type`}),` and that widget’s own fields; `,_jsx(_components.code,{children:`_id`}),` and `,_jsx(_components.code,{children:`metaType`}),` may be left out (the site sets them).`]}),_jsxs(Expandable,{title:`LayoutColumnWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/layout-column`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`LayoutColumnWidgetType`,id:`param-type-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/layout-column`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/layout-column`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`colstart`,type:`number | null`,id:`param-colstart`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colstart.`]})}),_jsx(ResponseField,{name:`colspan`,type:`number | null`,id:`param-colspan`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colspan.`]})}),_jsx(ResponseField,{name:`rowstart`,type:`number | null`,id:`param-rowstart`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Rowstart.`]})}),_jsx(ResponseField,{name:`rowspan`,type:`number | null`,id:`param-rowspan`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Rowspan.`]})}),_jsx(ResponseField,{name:`order`,type:`number | null`,id:`param-order`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Order.`]})}),_jsxs(ResponseField,{name:`content`,type:`LayoutColumnContentArea`,id:`param-content-1`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A `,_jsx(_components.code,{children:`LayoutColumnContentArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area.`]}),_jsxs(Expandable,{title:`LayoutColumnContentArea`,children:[_jsx(ResponseField,{name:`metaType`,type:`AfterContentAreaMetaType`,id:`param-meta-type-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`area`}),`. One of `,_jsx(_components.code,{children:`area`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The area’s id, set by the site: leave it out when you write one.`]})}),_jsx(ResponseField,{name:`items`,type:`readonly LayoutColumnContentAreaItem[]`,id:`param-items-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`LayoutColumnContentAreaItem`}),`. The widgets, top to bottom. Each is an object with its `,_jsx(_components.code,{children:`type`}),` and that widget’s own fields; `,_jsx(_components.code,{children:`_id`}),` and `,_jsx(_components.code,{children:`metaType`}),` may be left out (the site sets them). Its fields are listed under the first `,_jsx(_components.code,{children:`LayoutColumnContentAreaItem`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`showTablet`,type:`boolean`,id:`param-show-tablet`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Visible on tablet.`]})}),_jsx(ResponseField,{name:`showMobile`,type:`boolean`,id:`param-show-mobile`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Visible on mobile.`]})}),_jsx(ResponseField,{name:`justify`,type:`Justify | null`,id:`param-justify`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal alignment. One of `,_jsx(_components.code,{children:`stretch`}),`, `,_jsx(_components.code,{children:`start`}),`, `,_jsx(_components.code,{children:`end`}),`, `,_jsx(_components.code,{children:`center`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`align`,type:`Align | null`,id:`param-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vertical alignment. One of `,_jsx(_components.code,{children:`stretch`}),`, `,_jsx(_components.code,{children:`start`}),`, `,_jsx(_components.code,{children:`end`}),`, `,_jsx(_components.code,{children:`center`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`IntroWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`intro`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`IntroWidgetType`,id:`param-type-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`intro`}),`. One of `,_jsx(_components.code,{children:`intro`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introEyebrow`,type:`string`,id:`param-intro-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`introEyebrowColor`,type:`string | null`,id:`param-intro-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`introEyebrowColorLight`,type:`string | null`,id:`param-intro-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`introEyebrowWeight`,type:`IntroEyebrowWeight | null`,id:`param-intro-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introEyebrowSize`,type:`IntroEyebrowSize | null`,id:`param-intro-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introHeadline`,type:`string`,id:`param-intro-headline`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Headline.`]})}),_jsx(ResponseField,{name:`introHeadlineColor`,type:`string | null`,id:`param-intro-headline-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the headline color. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`introHeadlineColorLight`,type:`string | null`,id:`param-intro-headline-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`introHeadlineWeight`,type:`IntroHeadlineWeight | null`,id:`param-intro-headline-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Headline weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introBody`,type:`string`,id:`param-intro-body`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Body copy.`]})}),_jsx(ResponseField,{name:`introBodyColor`,type:`string | null`,id:`param-intro-body-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the body text color. Leave empty for the muted default.`]})}),_jsx(ResponseField,{name:`introBodyColorLight`,type:`string | null`,id:`param-intro-body-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the muted default.`]})}),_jsx(ResponseField,{name:`introBodyWeight`,type:`IntroBodyWeight | null`,id:`param-intro-body-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoPlacement`,type:`IntroPhotoPlacement | null`,id:`param-intro-photo-placement`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the optional photo sits. Left/right place it beside the text; Full background fills the whole section behind the text (with a readability overlay). One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`, `,_jsx(_components.code,{children:`background`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introImage`,type:`ImageArea`,id:`param-intro-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. An `,_jsx(_components.code,{children:`ImageArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area. Its fields are listed under the first `,_jsx(_components.code,{children:`ImageArea`}),` above.`]})}),_jsx(ResponseField,{name:`introPhotoCorners`,type:`IntroPhotoCorners | null`,id:`param-intro-photo-corners`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Photo corners. One of `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`squared`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoFrame`,type:`IntroPhotoFrame | null`,id:`param-intro-photo-frame`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border draws a frame around the photo; Offset adds a refined offset accent frame behind it. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`offset`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoFrameColor`,type:`string | null`,id:`param-intro-photo-frame-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / offset-frame color. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`introPhotoTilt`,type:`IntroPhotoTilt | null`,id:`param-intro-photo-tilt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A slight rotation for a more playful look. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoHover`,type:`IntroPhotoHover | null`,id:`param-intro-photo-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Photo hover effect. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`zoom`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`lift-glow`}),`, `,_jsx(_components.code,{children:`zoom-glow`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introOverlayColor`,type:`string | null`,id:`param-intro-overlay-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Scrim behind the text over a full-background photo. Leave empty to use the dark surface color.`]})}),_jsx(ResponseField,{name:`introOverlayColorLight`,type:`string | null`,id:`param-intro-overlay-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme overlay, then the light surface color.`]})}),_jsx(ResponseField,{name:`introOverlayOpacity`,type:`number | null`,id:`param-intro-overlay-opacity`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Overlay opacity (%). 0 to 100.`]})}),_jsx(ResponseField,{name:`introBg`,type:`IntroBg | null`,id:`param-intro-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introBgCustom`,type:`string | null`,id:`param-intro-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`introBgLight`,type:`IntroBgLight | null`,id:`param-intro-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introBgLightCustom`,type:`string | null`,id:`param-intro-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`introFontOverrides`,type:`readonly IntroWidgetIntroFontOverridesItem[]`,id:`param-intro-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`IntroWidgetIntroFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`IntroWidgetIntroFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly IntroWidgetIntroFontOverridesItemUploadsItem[]`,id:`param-uploads`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`IntroWidgetIntroFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`IntroWidgetIntroFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`FeatureWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`feature`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`FeatureWidgetType`,id:`param-type-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`feature`}),`. One of `,_jsx(_components.code,{children:`feature`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureColumns`,type:`FeatureColumns | null`,id:`param-feature-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of cards. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureGap`,type:`FeatureGap | null`,id:`param-feature-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between cards. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardSize`,type:`FeatureCardSize | null`,id:`param-feature-card-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Scales padding, icon, title, and the index numeral together. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyle`,type:`FeatureCardStyle | null`,id:`param-feature-card-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The card treatment. Poster (the default) frames the card with an accent keyline; Raised is a quiet lit card; Luxe a frosted glass panel; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyleRadius`,type:`FeatureCardStyleRadius | null`,id:`param-feature-card-style-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyleAccentColor`,type:`string | null`,id:`param-feature-card-style-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`featureCardStyleAccentColorLight`,type:`string | null`,id:`param-feature-card-style-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`featureCardStyleForgeScope`,type:`FeatureCardStyleForgeScope | null`,id:`param-feature-card-style-forge-scope`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyleForgeWeight`,type:`FeatureCardStyleForgeWeight | null`,id:`param-feature-card-style-forge-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardHover`,type:`FeatureCardHover | null`,id:`param-feature-card-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How a card reacts on hover. Pop is the lift + hard offset shadow; Glow is a soft accent halo. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardHoverColor`,type:`string | null`,id:`param-feature-card-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / shadow / glow color on hover. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`featureCardHoverColorLight`,type:`string | null`,id:`param-feature-card-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`featureNumbering`,type:`boolean`,id:`param-feature-numbering`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A big outlined numeral on each card (01, 02, …). Great for step-by-step sequences; turn off when the cards aren’t ordered.`]})}),_jsx(ResponseField,{name:`featureNumberFill`,type:`FeatureNumberFill | null`,id:`param-feature-number-fill`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Same treatment as the hero ghost text: all numbers solid, outlined and filling on hover, or always outlined. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`hover`}),`, `,_jsx(_components.code,{children:`outline`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureNumberColor`,type:`string | null`,id:`param-feature-number-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Tints the numeral fill + outline. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`featureNumberColorLight`,type:`string | null`,id:`param-feature-number-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`featureTitleColor`,type:`string | null`,id:`param-feature-title-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the card title color. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`featureTitleColorLight`,type:`string | null`,id:`param-feature-title-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`featureTitleWeight`,type:`FeatureTitleWeight | null`,id:`param-feature-title-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureTextColor`,type:`string | null`,id:`param-feature-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the card text color. Leave empty for the muted default.`]})}),_jsx(ResponseField,{name:`featureTextColorLight`,type:`string | null`,id:`param-feature-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the muted default.`]})}),_jsx(ResponseField,{name:`featureTextWeight`,type:`FeatureTextWeight | null`,id:`param-feature-text-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Text weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsxs(ResponseField,{name:`featureCards`,type:`readonly FeatureWidgetFeatureCardsItem[]`,id:`param-feature-cards`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FeatureWidgetFeatureCardsItem`}),`. Feature cards.`]}),_jsxs(Expandable,{title:`FeatureWidgetFeatureCardsItem`,children:[_jsx(ResponseField,{name:`cardTitle`,type:`string`,id:`param-card-title`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Title.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`icon`,type:`string`,id:`param-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`iconFamily`,type:`IconFamily | null`,id:`param-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconColor`,type:`string | null`,id:`param-icon-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the design’s own color rhythm.`]})}),_jsx(ResponseField,{name:`iconAnimation`,type:`IconAnimation | null`,id:`param-icon-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon animation. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`fa-beat`}),`, `,_jsx(_components.code,{children:`fa-bounce`}),`, `,_jsx(_components.code,{children:`fa-fade`}),`, `,_jsx(_components.code,{children:`fa-beat-fade`}),`, `,_jsx(_components.code,{children:`fa-flip`}),`, `,_jsx(_components.code,{children:`fa-shake`}),`, `,_jsx(_components.code,{children:`fa-spin`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconSize`,type:`IconSize | null`,id:`param-icon-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Relative to the component’s base icon size. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`, `,_jsx(_components.code,{children:`2xl`}),`, `,_jsx(_components.code,{children:`2x`}),`, `,_jsx(_components.code,{children:`3x`}),`, `,_jsx(_components.code,{children:`4x`}),`, `,_jsx(_components.code,{children:`5x`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cardText`,type:`string`,id:`param-card-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Text.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`featureBg`,type:`FeatureBg | null`,id:`param-feature-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureBgCustom`,type:`string | null`,id:`param-feature-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`featureBgLight`,type:`FeatureBgLight | null`,id:`param-feature-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureBgLightCustom`,type:`string | null`,id:`param-feature-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`featureFontOverrides`,type:`readonly FeatureWidgetFeatureFontOverridesItem[]`,id:`param-feature-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FeatureWidgetFeatureFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`FeatureWidgetFeatureFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly FeatureWidgetFeatureFontOverridesItemUploadsItem[]`,id:`param-uploads-1`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FeatureWidgetFeatureFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`FeatureWidgetFeatureFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-18`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`StatsWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`stats`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`StatsWidgetType`,id:`param-type-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`stats`}),`. One of `,_jsx(_components.code,{children:`stats`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-19`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsEyebrowEnabled`,type:`boolean`,id:`param-stats-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “By the numbers”).`]})}),_jsx(ResponseField,{name:`statsEyebrow`,type:`string`,id:`param-stats-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`statsEyebrowColor`,type:`string | null`,id:`param-stats-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`statsEyebrowColorLight`,type:`string | null`,id:`param-stats-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`statsEyebrowWeight`,type:`StatsEyebrowWeight | null`,id:`param-stats-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsEyebrowSize`,type:`StatsEyebrowSize | null`,id:`param-stats-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsHeading`,type:`string`,id:`param-stats-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the numbers.`]})}),_jsx(ResponseField,{name:`statsHeadingColor`,type:`string | null`,id:`param-stats-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`statsHeadingColorLight`,type:`string | null`,id:`param-stats-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`statsHeadingWeight`,type:`StatsHeadingWeight | null`,id:`param-stats-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsColumns`,type:`StatsColumns | null`,id:`param-stats-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of stats. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsGap`,type:`StatsGap | null`,id:`param-stats-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between stats. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsSize`,type:`StatsSize | null`,id:`param-stats-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The baseline scale for the whole stat (value / icon / label / description stay proportional). Fine-tune any single element with its own size control below. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsAlign`,type:`StatsAlign | null`,id:`param-stats-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Alignment. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsDividers`,type:`boolean`,id:`param-stats-dividers`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A hairline rule between each stat — the classic “by the numbers” rail.`]})}),_jsx(ResponseField,{name:`statsCountUp`,type:`boolean`,id:`param-stats-count-up`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Numbers tick up from zero when the band scrolls into view. Non-numeric values and reduced-motion visitors simply show the final value.`]})}),_jsx(ResponseField,{name:`statsIconSize`,type:`StatsIconSize | null`,id:`param-stats-icon-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of the icon above each number, independent of the overall stat size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`, `,_jsx(_components.code,{children:`xxl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsIconGap`,type:`StatsIconGap | null`,id:`param-stats-icon-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Space between the icon and the number below it. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsValueSize`,type:`StatsValueSize | null`,id:`param-stats-value-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Value size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`xs`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsValueWeight`,type:`StatsValueWeight | null`,id:`param-stats-value-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Value weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsValueColor`,type:`string | null`,id:`param-stats-value-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The big numeral. Optional — leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`statsValueColorLight`,type:`string | null`,id:`param-stats-value-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`statsLabelSize`,type:`StatsLabelSize | null`,id:`param-stats-label-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Label size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`xs`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsLabelWeight`,type:`StatsLabelWeight | null`,id:`param-stats-label-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Label weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsLabelColor`,type:`string | null`,id:`param-stats-label-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`statsLabelColorLight`,type:`string | null`,id:`param-stats-label-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`statsDescriptionSize`,type:`StatsDescriptionSize | null`,id:`param-stats-description-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Description size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`xs`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsDescriptionWeight`,type:`StatsDescriptionWeight | null`,id:`param-stats-description-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Description weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsDescriptionColor`,type:`string | null`,id:`param-stats-description-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`statsDescriptionColorLight`,type:`string | null`,id:`param-stats-description-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsxs(ResponseField,{name:`stats`,type:`readonly StatsWidgetStatsItem[]`,id:`param-stats`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StatsWidgetStatsItem`}),`. Stats.`]}),_jsxs(Expandable,{title:`StatsWidgetStatsItem`,children:[_jsx(ResponseField,{name:`value`,type:`string`,id:`param-value`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The number, e.g. 500, 4.9, 12 — symbols go in the prefix/suffix so the count-up animates the number alone.`]})}),_jsx(ResponseField,{name:`label`,type:`string`,id:`param-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Label.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-20`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`icon`,type:`string`,id:`param-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional Font Awesome icon shown above the number (e.g. star, bolt, chart-line). Leave empty for no icon.`]})}),_jsx(ResponseField,{name:`iconFamily`,type:`IconFamily | null`,id:`param-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconColor`,type:`string | null`,id:`param-icon-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the design’s own color rhythm.`]})}),_jsx(ResponseField,{name:`valuePrefix`,type:`string`,id:`param-value-prefix`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional, shown before the number (e.g. $, ~, >). Kept out of the count-up.`]})}),_jsx(ResponseField,{name:`valueSuffix`,type:`string`,id:`param-value-suffix`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional, shown after the number (e.g. +, %, k, yrs, ★).`]})}),_jsx(ResponseField,{name:`description`,type:`string`,id:`param-description`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional small text under the label.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`statsBg`,type:`StatsBg | null`,id:`param-stats-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsBgCustom`,type:`string | null`,id:`param-stats-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`statsBgLight`,type:`StatsBgLight | null`,id:`param-stats-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsBgLightCustom`,type:`string | null`,id:`param-stats-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`statsFontOverrides`,type:`readonly StatsWidgetStatsFontOverridesItem[]`,id:`param-stats-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StatsWidgetStatsFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`StatsWidgetStatsFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-21`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly StatsWidgetStatsFontOverridesItemUploadsItem[]`,id:`param-uploads-2`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StatsWidgetStatsFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`StatsWidgetStatsFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-22`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-18`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`statsCtaLabel`,type:`string`,id:`param-stats-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`statsCtaUrl`,type:`string`,id:`param-stats-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`statsCtaNewTab`,type:`boolean`,id:`param-stats-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`statsCtaVariant`,type:`StatsCtaVariant | null`,id:`param-stats-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaSize`,type:`StatsCtaSize | null`,id:`param-stats-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaRadius`,type:`StatsCtaRadius | null`,id:`param-stats-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaColor`,type:`string | null`,id:`param-stats-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`statsCtaColorLight`,type:`string | null`,id:`param-stats-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`statsCtaTextColor`,type:`string | null`,id:`param-stats-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`statsCtaTextColorLight`,type:`string | null`,id:`param-stats-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`statsCtaHoverColor`,type:`string | null`,id:`param-stats-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`statsCtaHoverColorLight`,type:`string | null`,id:`param-stats-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`statsCtaStyle`,type:`StatsCtaStyle | null`,id:`param-stats-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaShadowColor`,type:`string | null`,id:`param-stats-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`statsCtaShadowColorLight`,type:`string | null`,id:`param-stats-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`statsCtaAnimation`,type:`StatsCtaAnimation | null`,id:`param-stats-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaIcon`,type:`string`,id:`param-stats-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`statsCtaIconFamily`,type:`StatsCtaIconFamily | null`,id:`param-stats-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaIconPosition`,type:`StatsCtaIconPosition | null`,id:`param-stats-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaIconNudge`,type:`boolean`,id:`param-stats-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-19`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`StepsWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`steps`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`StepsWidgetType`,id:`param-type-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`steps`}),`. One of `,_jsx(_components.code,{children:`steps`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-23`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsEyebrowEnabled`,type:`boolean`,id:`param-steps-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “How it works”).`]})}),_jsx(ResponseField,{name:`stepsEyebrow`,type:`string`,id:`param-steps-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`stepsEyebrowColor`,type:`string | null`,id:`param-steps-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`stepsEyebrowColorLight`,type:`string | null`,id:`param-steps-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsEyebrowWeight`,type:`StepsEyebrowWeight | null`,id:`param-steps-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsEyebrowSize`,type:`StepsEyebrowSize | null`,id:`param-steps-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsHeading`,type:`string`,id:`param-steps-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the steps.`]})}),_jsx(ResponseField,{name:`stepsHeadingColor`,type:`string | null`,id:`param-steps-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`stepsHeadingColorLight`,type:`string | null`,id:`param-steps-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsHeadingWeight`,type:`StepsHeadingWeight | null`,id:`param-steps-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsHeadingSize`,type:`StepsHeadingSize | null`,id:`param-steps-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsIntro`,type:`string`,id:`param-steps-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`stepsIntroColor`,type:`string | null`,id:`param-steps-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`stepsIntroColorLight`,type:`string | null`,id:`param-steps-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsIntroWeight`,type:`StepsIntroWeight | null`,id:`param-steps-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsIntroSize`,type:`StepsIntroSize | null`,id:`param-steps-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsLayout`,type:`StepsLayout | null`,id:`param-steps-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal lays the steps across a row (marker on top); Vertical stacks them as a classic timeline (marker on the left). One of `,_jsx(_components.code,{children:`horizontal`}),`, `,_jsx(_components.code,{children:`vertical`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsColumns`,type:`StepsColumns | null`,id:`param-steps-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal only. Auto fits as many as comfortably fit and works for any number of steps. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsGap`,type:`StepsGap | null`,id:`param-steps-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between steps. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsAlign`,type:`StepsAlign | null`,id:`param-steps-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal only — aligns the section header and each step’s text. (Vertical is always left-aligned beside its marker.) One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsConnector`,type:`boolean`,id:`param-steps-connector`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A line linking the step markers into a timeline (down the markers when vertical, across them when horizontal).`]})}),_jsx(ResponseField,{name:`stepsCardStyle`,type:`StepsCardStyle | null`,id:`param-steps-card-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Plain keeps the connector-linked timeline (just marker + text, no card). Every other style boxes each step — Raised is a quiet lit card, Luxe a frosted glass panel, Outline a plaque frame, Spine adds a color rail, Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardStyleRadius`,type:`StepsCardStyleRadius | null`,id:`param-steps-card-style-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardStyleAccentColor`,type:`string | null`,id:`param-steps-card-style-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`stepsCardStyleAccentColorLight`,type:`string | null`,id:`param-steps-card-style-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsCardStyleForgeScope`,type:`StepsCardStyleForgeScope | null`,id:`param-steps-card-style-forge-scope`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardStyleForgeWeight`,type:`StepsCardStyleForgeWeight | null`,id:`param-steps-card-style-forge-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardHover`,type:`StepsCardHover | null`,id:`param-steps-card-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a boxed step does on hover (applies when Step style is not Plain). Lift/Pop/Press/Glow/Outline are instant; Sheen sweeps a light across; Tilt, Magnetic and Spotlight follow the cursor (need site animations on). One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarker`,type:`StepsMarker | null`,id:`param-steps-marker`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Number auto-counts 1, 2, 3…; Icon shows each step’s icon (falling back to the number when a step has none); None hides the marker badge. One of `,_jsx(_components.code,{children:`number`}),`, `,_jsx(_components.code,{children:`icon`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarkerStyle`,type:`StepsMarkerStyle | null`,id:`param-steps-marker-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Soft is a tinted accent badge; Filled is a solid accent badge; Outline is a bordered badge. One of `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`filled`}),`, `,_jsx(_components.code,{children:`outline`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarkerShape`,type:`StepsMarkerShape | null`,id:`param-steps-marker-shape`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marker shape. One of `,_jsx(_components.code,{children:`circle`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarkerSize`,type:`StepsMarkerSize | null`,id:`param-steps-marker-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marker size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsAccentColor`,type:`string | null`,id:`param-steps-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Color for the marker badge and the connector line. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`stepsAccentColorLight`,type:`string | null`,id:`param-steps-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme accent.`]})}),_jsx(ResponseField,{name:`stepsTitleSize`,type:`StepsTitleSize | null`,id:`param-steps-title-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsTitleWeight`,type:`StepsTitleWeight | null`,id:`param-steps-title-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsTitleColor`,type:`string | null`,id:`param-steps-title-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`stepsTitleColorLight`,type:`string | null`,id:`param-steps-title-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsBodySize`,type:`StepsBodySize | null`,id:`param-steps-body-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBodyWeight`,type:`StepsBodyWeight | null`,id:`param-steps-body-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBodyColor`,type:`string | null`,id:`param-steps-body-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`stepsBodyColorLight`,type:`string | null`,id:`param-steps-body-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsxs(ResponseField,{name:`stepsItems`,type:`readonly StepsWidgetStepsItemsItem[]`,id:`param-steps-items`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StepsWidgetStepsItemsItem`}),`. Each item is one step in the process. They render in this order; the number marker counts automatically.`]}),_jsxs(Expandable,{title:`StepsWidgetStepsItemsItem`,children:[_jsx(ResponseField,{name:`title`,type:`string`,id:`param-title-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Title.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-24`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`icon`,type:`string`,id:`param-icon-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional Font Awesome icon for this step (e.g. calendar-check, circle-check, gear). Shown in the marker when the section marker is set to “Icon”; otherwise the step is numbered.`]})}),_jsx(ResponseField,{name:`iconFamily`,type:`IconFamily | null`,id:`param-icon-family-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconColor`,type:`string | null`,id:`param-icon-color-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the design’s own color rhythm.`]})}),_jsx(ResponseField,{name:`number`,type:`string`,id:`param-number`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Overrides the auto number for this step’s marker, e.g. “01” or “A”. Leave empty to auto-count.`]})}),_jsx(ResponseField,{name:`body`,type:`string`,id:`param-body`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional description under the title.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-20`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`stepsBg`,type:`StepsBg | null`,id:`param-steps-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBgCustom`,type:`string | null`,id:`param-steps-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`stepsBgLight`,type:`StepsBgLight | null`,id:`param-steps-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBgLightCustom`,type:`string | null`,id:`param-steps-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`stepsFontOverrides`,type:`readonly StepsWidgetStepsFontOverridesItem[]`,id:`param-steps-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StepsWidgetStepsFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`StepsWidgetStepsFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-25`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly StepsWidgetStepsFontOverridesItemUploadsItem[]`,id:`param-uploads-3`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StepsWidgetStepsFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`StepsWidgetStepsFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-26`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-21`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-22`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`stepsCtaLabel`,type:`string`,id:`param-steps-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`stepsCtaUrl`,type:`string`,id:`param-steps-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`stepsCtaNewTab`,type:`boolean`,id:`param-steps-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`stepsCtaVariant`,type:`StepsCtaVariant | null`,id:`param-steps-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaSize`,type:`StepsCtaSize | null`,id:`param-steps-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaRadius`,type:`StepsCtaRadius | null`,id:`param-steps-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaColor`,type:`string | null`,id:`param-steps-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`stepsCtaColorLight`,type:`string | null`,id:`param-steps-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`stepsCtaTextColor`,type:`string | null`,id:`param-steps-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`stepsCtaTextColorLight`,type:`string | null`,id:`param-steps-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`stepsCtaHoverColor`,type:`string | null`,id:`param-steps-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`stepsCtaHoverColorLight`,type:`string | null`,id:`param-steps-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`stepsCtaStyle`,type:`StepsCtaStyle | null`,id:`param-steps-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaShadowColor`,type:`string | null`,id:`param-steps-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`stepsCtaShadowColorLight`,type:`string | null`,id:`param-steps-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`stepsCtaAnimation`,type:`StepsCtaAnimation | null`,id:`param-steps-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaIcon`,type:`string`,id:`param-steps-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`stepsCtaIconFamily`,type:`StepsCtaIconFamily | null`,id:`param-steps-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaIconPosition`,type:`StepsCtaIconPosition | null`,id:`param-steps-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaIconNudge`,type:`boolean`,id:`param-steps-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-23`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`PricingWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`pricing`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`PricingWidgetType`,id:`param-type-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`pricing`}),`. One of `,_jsx(_components.code,{children:`pricing`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-27`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingEyebrowEnabled`,type:`boolean`,id:`param-pricing-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “Pricing”).`]})}),_jsx(ResponseField,{name:`pricingEyebrow`,type:`string`,id:`param-pricing-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`pricingEyebrowColor`,type:`string | null`,id:`param-pricing-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`pricingEyebrowColorLight`,type:`string | null`,id:`param-pricing-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingEyebrowWeight`,type:`PricingEyebrowWeight | null`,id:`param-pricing-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingEyebrowSize`,type:`PricingEyebrowSize | null`,id:`param-pricing-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHeading`,type:`string`,id:`param-pricing-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the cards.`]})}),_jsx(ResponseField,{name:`pricingHeadingColor`,type:`string | null`,id:`param-pricing-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`pricingHeadingColorLight`,type:`string | null`,id:`param-pricing-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingHeadingWeight`,type:`PricingHeadingWeight | null`,id:`param-pricing-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHeadingSize`,type:`PricingHeadingSize | null`,id:`param-pricing-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingIntro`,type:`string`,id:`param-pricing-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`pricingIntroColor`,type:`string | null`,id:`param-pricing-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`pricingIntroColorLight`,type:`string | null`,id:`param-pricing-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingIntroWeight`,type:`PricingIntroWeight | null`,id:`param-pricing-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingIntroSize`,type:`PricingIntroSize | null`,id:`param-pricing-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingColumns`,type:`PricingColumns | null`,id:`param-pricing-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of cards. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingGap`,type:`PricingGap | null`,id:`param-pricing-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between cards. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyle`,type:`PricingCardStyle | null`,id:`param-pricing-card-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The base treatment for every tier (a highlighted tier always gets its own bold framed look). Raised is a quiet lit card; Luxe a frosted glass panel; Outline a plaque frame; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyleRadius`,type:`PricingCardStyleRadius | null`,id:`param-pricing-card-style-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyleAccentColor`,type:`string | null`,id:`param-pricing-card-style-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`pricingCardStyleAccentColorLight`,type:`string | null`,id:`param-pricing-card-style-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingCardStyleForgeScope`,type:`PricingCardStyleForgeScope | null`,id:`param-pricing-card-style-forge-scope`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyleForgeWeight`,type:`PricingCardStyleForgeWeight | null`,id:`param-pricing-card-style-forge-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingAlign`,type:`PricingAlign | null`,id:`param-pricing-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aligns the section header and the text inside each card. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingEqualHeight`,type:`boolean`,id:`param-pricing-equal-height`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Stretch every card to the tallest one and pin each button to the bottom, so the cards line up even with uneven feature lists.`]})}),_jsx(ResponseField,{name:`pricingFeatureMarkers`,type:`boolean`,id:`param-pricing-feature-markers`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A check (included) or cross (not included) before each feature. Off = a plain list.`]})}),_jsx(ResponseField,{name:`pricingCardHover`,type:`PricingCardHover | null`,id:`param-pricing-card-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How a card reacts to the pointer. Rise floats it up on an accent underglow; Selection ring previews the highlighted look + tints the price; Spotlight washes accent light over the price; Checklist lights up the ✓ marks one-by-one; Tilt is a 3-D parallax that only runs when site animations are on. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`rise`}),`, `,_jsx(_components.code,{children:`ring`}),`, `,_jsx(_components.code,{children:`spotlight`}),`, `,_jsx(_components.code,{children:`checklist`}),`, `,_jsx(_components.code,{children:`tilt`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHoverColor`,type:`string | null`,id:`param-pricing-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / glow / spotlight / checkmark color on hover. Leave empty to use the highlight accent (then the site accent).`]})}),_jsx(ResponseField,{name:`pricingHoverColorLight`,type:`string | null`,id:`param-pricing-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover accent.`]})}),_jsx(ResponseField,{name:`pricingEntrance`,type:`PricingEntrance | null`,id:`param-pricing-entrance`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How the cards animate in as they scroll into view. Featured-led makes the highlighted tier settle last with a little emphasis (draws the eye to the recommended plan); Simple stagger fades them in evenly. Only plays when site animations are on (Site design → Motion) — otherwise the cards are simply shown. One of `,_jsx(_components.code,{children:`featured`}),`, `,_jsx(_components.code,{children:`stagger`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingNameSize`,type:`PricingNameSize | null`,id:`param-pricing-name-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of each card’s name / title. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingPriceSize`,type:`PricingPriceSize | null`,id:`param-pricing-price-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of the price amount (the period and price note scale with it). One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingDescSize`,type:`PricingDescSize | null`,id:`param-pricing-desc-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of each card’s description blurb. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeatureSize`,type:`PricingFeatureSize | null`,id:`param-pricing-feature-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of the feature list text (notes and check marks scale with it). One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHighlightBadge`,type:`string`,id:`param-pricing-highlight-badge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Ribbon text shown on a highlighted tier that doesn’t set its own badge. Each tier can override it (or badge a non-highlighted tier) below. Leave empty for no automatic badge.`]})}),_jsx(ResponseField,{name:`pricingAccentColor`,type:`string | null`,id:`param-pricing-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Color for the highlighted tier’s border + ring and each tier’s badge. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`pricingAccentColorLight`,type:`string | null`,id:`param-pricing-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme accent.`]})}),_jsxs(ResponseField,{name:`pricingTiers`,type:`readonly PricingWidgetPricingTiersItem[]`,id:`param-pricing-tiers`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`PricingWidgetPricingTiersItem`}),`. Each card is one tier / package / service. Toggle “Highlight” on the one you want to stand out.`]}),_jsxs(Expandable,{title:`PricingWidgetPricingTiersItem`,children:[_jsx(ResponseField,{name:`name`,type:`string`,id:`param-name`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Tier / package / service name — e.g. “Starter”, “Studio”, “Agency”.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-28`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`icon`,type:`string`,id:`param-icon-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`iconFamily`,type:`IconFamily | null`,id:`param-icon-family-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconColor`,type:`string | null`,id:`param-icon-color-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the design’s own color rhythm.`]})}),_jsx(ResponseField,{name:`iconAnimation`,type:`IconAnimation | null`,id:`param-icon-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon animation. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`fa-beat`}),`, `,_jsx(_components.code,{children:`fa-bounce`}),`, `,_jsx(_components.code,{children:`fa-fade`}),`, `,_jsx(_components.code,{children:`fa-beat-fade`}),`, `,_jsx(_components.code,{children:`fa-flip`}),`, `,_jsx(_components.code,{children:`fa-shake`}),`, `,_jsx(_components.code,{children:`fa-spin`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconSize`,type:`IconSize | null`,id:`param-icon-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Relative to the component’s base icon size. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`, `,_jsx(_components.code,{children:`2xl`}),`, `,_jsx(_components.code,{children:`2x`}),`, `,_jsx(_components.code,{children:`3x`}),`, `,_jsx(_components.code,{children:`4x`}),`, `,_jsx(_components.code,{children:`5x`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`iconGap`,type:`IconGap | null`,id:`param-icon-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Breathing room below the icon, before the card name. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`badge`,type:`string`,id:`param-badge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small ribbon on the card, e.g. “Best value”, “Limited spots”. Overrides the default highlight badge for this tier; works on any tier, highlighted or not. Empty on a highlighted tier falls back to the section’s “Default highlight badge”.`]})}),_jsx(ResponseField,{name:`highlighted`,type:`boolean`,id:`param-highlighted`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Emphasize this tier — accent border + ring, a subtle lift, and the Featured button look.`]})}),_jsx(ResponseField,{name:`textAlign`,type:`TextAlign | null`,id:`param-text-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How this card’s text lines up. Normal = the section default (a centered section keeps the feature list left-aligned, as now). Center also centers the feature list; Left / Right align everything that way. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`price`,type:`string`,id:`param-price`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Free text, so it fits any model — “`,`$45\", \"From $`,`200”, “Custom”, “Call for quote”.`]})}),_jsx(ResponseField,{name:`period`,type:`string`,id:`param-period`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Shown after the price, e.g. ”/ month”, “per night”, “per session”. Leave empty for a flat price.`]})}),_jsx(ResponseField,{name:`priceNote`,type:`string`,id:`param-price-note`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small line under the price, e.g. “per seat”, “billed annually”, ”+ tax”.`]})}),_jsx(ResponseField,{name:`description`,type:`string`,id:`param-description-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A short blurb under the name.`]})}),_jsxs(ResponseField,{name:`features`,type:`readonly PricingWidgetPricingTiersItemFeaturesItem[]`,id:`param-features`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`PricingWidgetPricingTiersItemFeaturesItem`}),`. The bullet list of what’s included.`]}),_jsxs(Expandable,{title:`PricingWidgetPricingTiersItemFeaturesItem`,children:[_jsx(ResponseField,{name:`text`,type:`string`,id:`param-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Feature.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-29`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`included`,type:`boolean`,id:`param-included`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. On = a check mark; off = a crossed-out / muted line (e.g. a feature this tier lacks).`]})}),_jsx(ResponseField,{name:`note`,type:`string`,id:`param-note`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small qualifier shown after the feature, e.g. “up to 5”, “add-on”.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-24`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`ctaLabel`,type:`string`,id:`param-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. This card’s button text. Leave empty to use the shared button label (set in the Pricing · Buttons tab); clear it everywhere to hide the button.`]})}),_jsx(ResponseField,{name:`ctaUrl`,type:`string`,id:`param-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/contact-us) or full URL. Leave empty to inherit the shared button link.`]})}),_jsx(ResponseField,{name:`ctaNewTab`,type:`boolean`,id:`param-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Open button in new tab.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-25`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`pricingBg`,type:`PricingBg | null`,id:`param-pricing-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingBgCustom`,type:`string | null`,id:`param-pricing-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`pricingBgLight`,type:`PricingBgLight | null`,id:`param-pricing-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingBgLightCustom`,type:`string | null`,id:`param-pricing-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`pricingFontOverrides`,type:`readonly PricingWidgetPricingFontOverridesItem[]`,id:`param-pricing-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`PricingWidgetPricingFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`PricingWidgetPricingFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-30`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly PricingWidgetPricingFontOverridesItemUploadsItem[]`,id:`param-uploads-4`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`PricingWidgetPricingFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`PricingWidgetPricingFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-31`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-26`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-4`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-27`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`pricingFeaturedCtaLabel`,type:`string`,id:`param-pricing-featured-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaUrl`,type:`string`,id:`param-pricing-featured-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaNewTab`,type:`boolean`,id:`param-pricing-featured-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaVariant`,type:`PricingFeaturedCtaVariant | null`,id:`param-pricing-featured-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaSize`,type:`PricingFeaturedCtaSize | null`,id:`param-pricing-featured-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaRadius`,type:`PricingFeaturedCtaRadius | null`,id:`param-pricing-featured-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaColor`,type:`string | null`,id:`param-pricing-featured-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaColorLight`,type:`string | null`,id:`param-pricing-featured-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaTextColor`,type:`string | null`,id:`param-pricing-featured-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaTextColorLight`,type:`string | null`,id:`param-pricing-featured-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaHoverColor`,type:`string | null`,id:`param-pricing-featured-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaHoverColorLight`,type:`string | null`,id:`param-pricing-featured-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaStyle`,type:`PricingFeaturedCtaStyle | null`,id:`param-pricing-featured-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaShadowColor`,type:`string | null`,id:`param-pricing-featured-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaShadowColorLight`,type:`string | null`,id:`param-pricing-featured-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaAnimation`,type:`PricingFeaturedCtaAnimation | null`,id:`param-pricing-featured-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIcon`,type:`string`,id:`param-pricing-featured-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIconFamily`,type:`PricingFeaturedCtaIconFamily | null`,id:`param-pricing-featured-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIconPosition`,type:`PricingFeaturedCtaIconPosition | null`,id:`param-pricing-featured-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIconNudge`,type:`boolean`,id:`param-pricing-featured-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`pricingCtaLabel`,type:`string`,id:`param-pricing-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`pricingCtaUrl`,type:`string`,id:`param-pricing-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`pricingCtaNewTab`,type:`boolean`,id:`param-pricing-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`pricingCtaVariant`,type:`PricingCtaVariant | null`,id:`param-pricing-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaSize`,type:`PricingCtaSize | null`,id:`param-pricing-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaRadius`,type:`PricingCtaRadius | null`,id:`param-pricing-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaColor`,type:`string | null`,id:`param-pricing-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`pricingCtaColorLight`,type:`string | null`,id:`param-pricing-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`pricingCtaTextColor`,type:`string | null`,id:`param-pricing-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`pricingCtaTextColorLight`,type:`string | null`,id:`param-pricing-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`pricingCtaHoverColor`,type:`string | null`,id:`param-pricing-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`pricingCtaHoverColorLight`,type:`string | null`,id:`param-pricing-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`pricingCtaStyle`,type:`PricingCtaStyle | null`,id:`param-pricing-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaShadowColor`,type:`string | null`,id:`param-pricing-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`pricingCtaShadowColorLight`,type:`string | null`,id:`param-pricing-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`pricingCtaAnimation`,type:`PricingCtaAnimation | null`,id:`param-pricing-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaIcon`,type:`string`,id:`param-pricing-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`pricingCtaIconFamily`,type:`PricingCtaIconFamily | null`,id:`param-pricing-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaIconPosition`,type:`PricingCtaIconPosition | null`,id:`param-pricing-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaIconNudge`,type:`boolean`,id:`param-pricing-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-28`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`MediaTextWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`media-text`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`MediaTextWidgetType`,id:`param-type-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`media-text`}),`. One of `,_jsx(_components.code,{children:`media-text`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-32`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowEnabled`,type:`boolean`,id:`param-media-text-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the section heading (e.g. “Why us”).`]})}),_jsx(ResponseField,{name:`mediaTextEyebrow`,type:`string`,id:`param-media-text-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowColor`,type:`string | null`,id:`param-media-text-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowColorLight`,type:`string | null`,id:`param-media-text-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowWeight`,type:`MediaTextEyebrowWeight | null`,id:`param-media-text-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowSize`,type:`MediaTextEyebrowSize | null`,id:`param-media-text-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextHeading`,type:`string`,id:`param-media-text-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional section heading above the blocks. Leave empty to show just the blocks.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingColor`,type:`string | null`,id:`param-media-text-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingColorLight`,type:`string | null`,id:`param-media-text-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingWeight`,type:`MediaTextHeadingWeight | null`,id:`param-media-text-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingSize`,type:`MediaTextHeadingSize | null`,id:`param-media-text-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextIntro`,type:`string`,id:`param-media-text-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`mediaTextIntroColor`,type:`string | null`,id:`param-media-text-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`mediaTextIntroColorLight`,type:`string | null`,id:`param-media-text-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextIntroWeight`,type:`MediaTextIntroWeight | null`,id:`param-media-text-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextIntroSize`,type:`MediaTextIntroSize | null`,id:`param-media-text-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextAlign`,type:`MediaTextAlign | null`,id:`param-media-text-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aligns the section header and the text inside each block. (Side-by-side rows usually read best left-aligned.) One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`center`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextRatio`,type:`MediaTextRatio | null`,id:`param-media-text-ratio`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. For media-left / media-right rows: how the two columns share the width. One of `,_jsx(_components.code,{children:`balanced`}),`, `,_jsx(_components.code,{children:`media`}),`, `,_jsx(_components.code,{children:`text`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextVAlign`,type:`MediaTextVAlign | null`,id:`param-media-text-v-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. For media-left / media-right rows: how the text lines up against the media. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`top`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextMediaRatio`,type:`MediaTextMediaRatio | null`,id:`param-media-text-media-ratio`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aspect ratio of the media frame. Auto keeps an image at its natural shape (videos and embeds always use a ratio). One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`landscape`}),`, `,_jsx(_components.code,{children:`standard`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`portrait`}),`, `,_jsx(_components.code,{children:`wide`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextMediaRadius`,type:`MediaTextMediaRadius | null`,id:`param-media-text-media-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Media corners. One of `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextGap`,type:`MediaTextGap | null`,id:`param-media-text-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between blocks. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextDividers`,type:`boolean`,id:`param-media-text-dividers`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A hairline rule between blocks.`]})}),_jsx(ResponseField,{name:`mediaTextBlockEyebrowColor`,type:`string | null`,id:`param-media-text-block-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Each block’s eyebrow color. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockEyebrowColorLight`,type:`string | null`,id:`param-media-text-block-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockEyebrowWeight`,type:`MediaTextBlockEyebrowWeight | null`,id:`param-media-text-block-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingColor`,type:`string | null`,id:`param-media-text-block-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingColorLight`,type:`string | null`,id:`param-media-text-block-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingWeight`,type:`MediaTextBlockHeadingWeight | null`,id:`param-media-text-block-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingSize`,type:`MediaTextBlockHeadingSize | null`,id:`param-media-text-block-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBodyColor`,type:`string | null`,id:`param-media-text-body-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`mediaTextBodyColorLight`,type:`string | null`,id:`param-media-text-body-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextBodyWeight`,type:`MediaTextBodyWeight | null`,id:`param-media-text-body-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBodySize`,type:`MediaTextBodySize | null`,id:`param-media-text-body-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block body size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsxs(ResponseField,{name:`mediaTextBlocks`,type:`readonly MediaTextWidgetMediaTextBlocksItem[]`,id:`param-media-text-blocks`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextBlocksItem`}),`. Each block is one media + text row. They render top to bottom in this order; alternate “Media left” / “Media right” for a classic zig-zag.`]}),_jsxs(Expandable,{title:`MediaTextWidgetMediaTextBlocksItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-33`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`layout`,type:`Layout | null`,id:`param-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Media left / right place the media beside the text; Stacked puts media above the text; Full-bleed runs the media edge-to-edge with the text below. One of `,_jsx(_components.code,{children:`media-left`}),`, `,_jsx(_components.code,{children:`media-right`}),`, `,_jsx(_components.code,{children:`stacked`}),`, `,_jsx(_components.code,{children:`full`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaType`,type:`MediaTextWidgetMediaTextBlocksItemMediaType | null`,id:`param-media-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Pick where the media comes from. “None” makes this a text-only block. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`, `,_jsx(_components.code,{children:`embed`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`image`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-image-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick an image from the Images library. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`imageAlt`,type:`string`,id:`param-image-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Describe the image for screen readers and SEO. Leave empty to use the library image’s own alt text. Set to a single space for a purely decorative image.`]})}),_jsx(ResponseField,{name:`video`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-video-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`videoAutoplay`,type:`boolean`,id:`param-video-autoplay`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Play automatically as a muted, looping background clip (a pause button is shown, and reduced-motion visitors get the poster image). Off = a normal video with play controls.`]})}),_jsx(ResponseField,{name:`embedUrl`,type:`string`,id:`param-embed-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Paste a YouTube or Vimeo link, e.g. `,_jsx(_components.a,{href:`https://youtu.be/%E2%80%A6`,children:`https://youtu.be/…`}),` or `,_jsx(_components.a,{href:`https://vimeo.com/%E2%80%A6`,children:`https://vimeo.com/…`}),`.`]})}),_jsx(ResponseField,{name:`eyebrow`,type:`string`,id:`param-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the block heading.`]})}),_jsx(ResponseField,{name:`heading`,type:`string`,id:`param-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The block’s headline.`]})}),_jsx(ResponseField,{name:`body`,type:`string`,id:`param-body-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A paragraph or two. Leave a blank line between paragraphs.`]})}),_jsx(ResponseField,{name:`ctaLabel`,type:`string`,id:`param-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. This block’s button text. Leave empty (with no link) to hide the button.`]})}),_jsx(ResponseField,{name:`ctaUrl`,type:`string`,id:`param-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/about-us) or full URL.`]})}),_jsx(ResponseField,{name:`ctaNewTab`,type:`boolean`,id:`param-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Open button in new tab.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-29`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`mediaTextBg`,type:`MediaTextBg | null`,id:`param-media-text-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBgCustom`,type:`string | null`,id:`param-media-text-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`mediaTextBgLight`,type:`MediaTextBgLight | null`,id:`param-media-text-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBgLightCustom`,type:`string | null`,id:`param-media-text-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`mediaTextFontOverrides`,type:`readonly MediaTextWidgetMediaTextFontOverridesItem[]`,id:`param-media-text-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`MediaTextWidgetMediaTextFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-34`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly MediaTextWidgetMediaTextFontOverridesItemUploadsItem[]`,id:`param-uploads-5`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`MediaTextWidgetMediaTextFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-35`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-30`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-5`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-31`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`mediaTextCtaVariant`,type:`MediaTextCtaVariant | null`,id:`param-media-text-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaSize`,type:`MediaTextCtaSize | null`,id:`param-media-text-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaRadius`,type:`MediaTextCtaRadius | null`,id:`param-media-text-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaColor`,type:`string | null`,id:`param-media-text-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`mediaTextCtaColorLight`,type:`string | null`,id:`param-media-text-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`mediaTextCtaTextColor`,type:`string | null`,id:`param-media-text-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`mediaTextCtaTextColorLight`,type:`string | null`,id:`param-media-text-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaHoverColor`,type:`string | null`,id:`param-media-text-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaHoverColorLight`,type:`string | null`,id:`param-media-text-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaStyle`,type:`MediaTextCtaStyle | null`,id:`param-media-text-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaShadowColor`,type:`string | null`,id:`param-media-text-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaShadowColorLight`,type:`string | null`,id:`param-media-text-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaAnimation`,type:`MediaTextCtaAnimation | null`,id:`param-media-text-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIcon`,type:`string`,id:`param-media-text-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIconFamily`,type:`MediaTextCtaIconFamily | null`,id:`param-media-text-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIconPosition`,type:`MediaTextCtaIconPosition | null`,id:`param-media-text-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIconNudge`,type:`boolean`,id:`param-media-text-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-32`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`DeviceMockWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`device-mock`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`DeviceMockWidgetType`,id:`param-type-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`device-mock`}),`. One of `,_jsx(_components.code,{children:`device-mock`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-36`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockArrangement`,type:`DeviceMockArrangement | null`,id:`param-device-mock-arrangement`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which devices to show. Duo overlaps a phone on the corner of a desktop browser; Trio adds a TV behind them (on narrow screens Trio drops the TV and shows as a Duo). Each device used gets its own screen tab. One of `,_jsx(_components.code,{children:`duo`}),`, `,_jsx(_components.code,{children:`trio`}),`, `,_jsx(_components.code,{children:`desktop`}),`, `,_jsx(_components.code,{children:`phone`}),`, `,_jsx(_components.code,{children:`tv`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockTextPlacement`,type:`DeviceMockTextPlacement | null`,id:`param-device-mock-text-placement`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the eyebrow / heading / intro / button sit. Left or right puts the text in a column beside the devices (stacked above them on narrow screens); None shows the devices only. One of `,_jsx(_components.code,{children:`above`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockSize`,type:`DeviceMockSize | null`,id:`param-device-mock-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How large the devices render within the section. One of `,_jsx(_components.code,{children:`compact`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBrowserRatio`,type:`DeviceMockBrowserRatio | null`,id:`param-device-mock-browser-ratio`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The browser window’s content area. Match your desktop captures. One of `,_jsx(_components.code,{children:`16:10`}),`, `,_jsx(_components.code,{children:`16:9`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBrowserUrl`,type:`string`,id:`param-device-mock-browser-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The address shown in the browser toolbar — decoration only, not a link.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneStatusBar`,type:`boolean`,id:`param-device-mock-phone-status-bar`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds a time / signal / battery bar across the top of the phone screen. Leave off for native phone screenshots — they already include the real status bar.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneTime`,type:`string`,id:`param-device-mock-phone-time`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Status bar time.`]})}),_jsx(ResponseField,{name:`deviceMockMotionPause`,type:`boolean`,id:`param-device-mock-motion-pause`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds a small, unobtrusive pause/play control so visitors can stop the auto-playing background motion (WCAG 2.2.2). Only appears when a moving background is set.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowEnabled`,type:`boolean`,id:`param-device-mock-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “Product tour”).`]})}),_jsx(ResponseField,{name:`deviceMockEyebrow`,type:`string`,id:`param-device-mock-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowColor`,type:`string | null`,id:`param-device-mock-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowColorLight`,type:`string | null`,id:`param-device-mock-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowWeight`,type:`DeviceMockEyebrowWeight | null`,id:`param-device-mock-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowSize`,type:`DeviceMockEyebrowSize | null`,id:`param-device-mock-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockHeading`,type:`string`,id:`param-device-mock-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the devices.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingColor`,type:`string | null`,id:`param-device-mock-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingColorLight`,type:`string | null`,id:`param-device-mock-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingWeight`,type:`DeviceMockHeadingWeight | null`,id:`param-device-mock-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingSize`,type:`DeviceMockHeadingSize | null`,id:`param-device-mock-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockIntro`,type:`string`,id:`param-device-mock-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short paragraph under the heading.`]})}),_jsx(ResponseField,{name:`deviceMockIntroColor`,type:`string | null`,id:`param-device-mock-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`deviceMockIntroColorLight`,type:`string | null`,id:`param-device-mock-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`deviceMockIntroWeight`,type:`DeviceMockIntroWeight | null`,id:`param-device-mock-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockIntroSize`,type:`DeviceMockIntroSize | null`,id:`param-device-mock-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCaption`,type:`string`,id:`param-device-mock-caption`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A short line shown under the devices.`]})}),_jsx(ResponseField,{name:`deviceMockTvMediaType`,type:`DeviceMockTvMediaType | null`,id:`param-device-mock-tv-media-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A still screenshot, or a short looping screen recording. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockTvImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-tv-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use a native-resolution 16:9 capture of the screen with NO device frame (the frame is drawn for you) — e.g. 1920 × 1080 or 3840 × 2160. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockTvImageAlt`,type:`string`,id:`param-device-mock-tv-image-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.`]})}),_jsx(ResponseField,{name:`deviceMockTvVideo`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-tv-video`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution 16:9 capture of the screen with NO device frame (the frame is drawn for you) — e.g. 1920 × 1080 or 3840 × 2160. The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockTvVideoAlt`,type:`string`,id:`param-device-mock-tv-video-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.`]})}),_jsx(ResponseField,{name:`deviceMockTvFit`,type:`DeviceMockTvFit | null`,id:`param-device-mock-tv-fit`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of `,_jsx(_components.code,{children:`cover`}),`, `,_jsx(_components.code,{children:`contain`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockTvAnchor`,type:`DeviceMockTvAnchor | null`,id:`param-device-mock-tv-anchor`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of `,_jsx(_components.code,{children:`top`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`bottom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopMediaType`,type:`DeviceMockDesktopMediaType | null`,id:`param-device-mock-desktop-media-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A still screenshot, or a short looping screen recording. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-desktop-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use a native-resolution capture of the page content only — no browser toolbar and no device frame (both are drawn for you). 16:10 (e.g. 2880 × 1800) or 16:9 (e.g. 2560 × 1440), matching the “Desktop screen shape” setting. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopImageAlt`,type:`string`,id:`param-device-mock-desktop-image-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopVideo`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-desktop-video`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution capture of the page content only — no browser toolbar and no device frame (both are drawn for you). 16:10 (e.g. 2880 × 1800) or 16:9 (e.g. 2560 × 1440), matching the “Desktop screen shape” setting. The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopVideoAlt`,type:`string`,id:`param-device-mock-desktop-video-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopFit`,type:`DeviceMockDesktopFit | null`,id:`param-device-mock-desktop-fit`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of `,_jsx(_components.code,{children:`cover`}),`, `,_jsx(_components.code,{children:`contain`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopAnchor`,type:`DeviceMockDesktopAnchor | null`,id:`param-device-mock-desktop-anchor`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of `,_jsx(_components.code,{children:`top`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`bottom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneMediaType`,type:`DeviceMockPhoneMediaType | null`,id:`param-device-mock-phone-media-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A still screenshot, or a short looping screen recording. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-phone-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use a native-resolution portrait screenshot with NO device frame (the frame is drawn for you) — e.g. 1179 × 2556 or 1290 × 2796 (about 9:19.5). The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneImageAlt`,type:`string`,id:`param-device-mock-phone-image-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneVideo`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-phone-video`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution portrait screenshot with NO device frame (the frame is drawn for you) — e.g. 1179 × 2556 or 1290 × 2796 (about 9:19.5). The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneVideoAlt`,type:`string`,id:`param-device-mock-phone-video-alt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneFit`,type:`DeviceMockPhoneFit | null`,id:`param-device-mock-phone-fit`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of `,_jsx(_components.code,{children:`cover`}),`, `,_jsx(_components.code,{children:`contain`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneAnchor`,type:`DeviceMockPhoneAnchor | null`,id:`param-device-mock-phone-anchor`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of `,_jsx(_components.code,{children:`top`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`bottom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBg`,type:`DeviceMockBg | null`,id:`param-device-mock-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBgCustom`,type:`string | null`,id:`param-device-mock-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`deviceMockBgLight`,type:`DeviceMockBgLight | null`,id:`param-device-mock-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBgLightCustom`,type:`string | null`,id:`param-device-mock-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`deviceMockFontOverrides`,type:`readonly DeviceMockWidgetDeviceMockFontOverridesItem[]`,id:`param-device-mock-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`DeviceMockWidgetDeviceMockFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`DeviceMockWidgetDeviceMockFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-37`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly DeviceMockWidgetDeviceMockFontOverridesItemUploadsItem[]`,id:`param-uploads-6`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`DeviceMockWidgetDeviceMockFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`DeviceMockWidgetDeviceMockFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-38`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-33`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-6`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-34`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`deviceMockCtaLabel`,type:`string`,id:`param-device-mock-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`deviceMockCtaUrl`,type:`string`,id:`param-device-mock-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`deviceMockCtaNewTab`,type:`boolean`,id:`param-device-mock-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`deviceMockCtaVariant`,type:`DeviceMockCtaVariant | null`,id:`param-device-mock-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaSize`,type:`DeviceMockCtaSize | null`,id:`param-device-mock-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaRadius`,type:`DeviceMockCtaRadius | null`,id:`param-device-mock-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaColor`,type:`string | null`,id:`param-device-mock-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`deviceMockCtaColorLight`,type:`string | null`,id:`param-device-mock-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`deviceMockCtaTextColor`,type:`string | null`,id:`param-device-mock-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`deviceMockCtaTextColorLight`,type:`string | null`,id:`param-device-mock-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaHoverColor`,type:`string | null`,id:`param-device-mock-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaHoverColorLight`,type:`string | null`,id:`param-device-mock-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaStyle`,type:`DeviceMockCtaStyle | null`,id:`param-device-mock-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaShadowColor`,type:`string | null`,id:`param-device-mock-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaShadowColorLight`,type:`string | null`,id:`param-device-mock-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaAnimation`,type:`DeviceMockCtaAnimation | null`,id:`param-device-mock-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIcon`,type:`string`,id:`param-device-mock-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIconFamily`,type:`DeviceMockCtaIconFamily | null`,id:`param-device-mock-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIconPosition`,type:`DeviceMockCtaIconPosition | null`,id:`param-device-mock-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIconNudge`,type:`boolean`,id:`param-device-mock-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-35`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`FaqWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`faq`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`FaqWidgetType`,id:`param-type-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`faq`}),`. One of `,_jsx(_components.code,{children:`faq`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-39`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqEyebrow`,type:`string`,id:`param-faq-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`faqEyebrowColor`,type:`string | null`,id:`param-faq-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`faqEyebrowColorLight`,type:`string | null`,id:`param-faq-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`faqEyebrowWeight`,type:`FaqEyebrowWeight | null`,id:`param-faq-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqEyebrowSize`,type:`FaqEyebrowSize | null`,id:`param-faq-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqHeading`,type:`string`,id:`param-faq-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the questions.`]})}),_jsx(ResponseField,{name:`faqHeadingColor`,type:`string | null`,id:`param-faq-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`faqHeadingColorLight`,type:`string | null`,id:`param-faq-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqHeadingWeight`,type:`FaqHeadingWeight | null`,id:`param-faq-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqIntro`,type:`string`,id:`param-faq-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`faqIntroColor`,type:`string | null`,id:`param-faq-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`faqIntroColorLight`,type:`string | null`,id:`param-faq-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqIntroWeight`,type:`FaqIntroWeight | null`,id:`param-faq-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqIntroSize`,type:`FaqIntroSize | null`,id:`param-faq-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAlign`,type:`FaqAlign | null`,id:`param-faq-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The Split layout always sets its header column left. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqFeaturedOnly`,type:`boolean`,id:`param-faq-featured-only`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show only questions you have flagged “Featured” in the FAQs manager — e.g. a short top-questions block on the home page, linking out to the full FAQ page.`]})}),_jsx(ResponseField,{name:`faqCount`,type:`number | null`,id:`param-faq-count`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The most questions to show, in the manager’s sort order. Raise it for a full FAQ page. 1 to 50.`]})}),_jsx(ResponseField,{name:`faqCategories`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-faq-categories`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional filter. Leave empty to show questions from every category. Manage the list under FAQ Categories. The related `,_jsx(_components.code,{children:`faq-category`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document; a document the site can’t find is left out.`]})}),_jsx(ResponseField,{name:`faqGroupBy`,type:`FaqGroupBy | null`,id:`param-faq-group-by`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. By category renders a subheading per FAQ category, in the order picked in the category filter (or, with no filter, the FAQ Categories sort order); questions without a category are listed last. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`category`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqLayout`,type:`FaqLayout | null`,id:`param-faq-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Accordion: a single centered column of collapsing questions — the classic FAQ. Split: the header (and button) sit in a left column with the accordion beside them. Two columns: the accordion flows across two columns. Open panels: every answer visible in a card grid — no collapsing. One of `,_jsx(_components.code,{children:`accordion`}),`, `,_jsx(_components.code,{children:`split`}),`, `,_jsx(_components.code,{children:`columns`}),`, `,_jsx(_components.code,{children:`panels`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqPanelColumns`,type:`FaqPanelColumns | null`,id:`param-faq-panel-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How many open panels sit per row (they stack on small screens). One of `,_jsx(_components.code,{children:`1`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqOpenMode`,type:`FaqOpenMode | null`,id:`param-faq-open-mode`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. One at a time closes the previous answer when a new one opens; Independent lets visitors hold several open. One of `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`multiple`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqFirstOpen`,type:`boolean`,id:`param-faq-first-open`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Starts the section with the first answer expanded so the block never reads as an empty list of rows.`]})}),_jsx(ResponseField,{name:`faqMarker`,type:`FaqMarker | null`,id:`param-faq-marker`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The disclosure marker on each question. Plus rotates into a close mark; Chevron flips. One of `,_jsx(_components.code,{children:`plus`}),`, `,_jsx(_components.code,{children:`chevron`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqGap`,type:`FaqGap | null`,id:`param-faq-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Space between questions. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqSchema`,type:`boolean`,id:`param-faq-schema`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds this section’s questions to the page’s schema.org FAQPage markup so search engines can read them (all FAQ sections on a page share one FAQPage block). Costs nothing when on; turn off only to exclude these questions.`]})}),_jsx(ResponseField,{name:`faqCardStyle`,type:`FaqCardStyle | null`,id:`param-faq-card-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The question-row treatment. Plain (the default) is the classic divided list — hairlines between questions. Any other style turns each question into a card: Raised is a quiet lit card, Outline a framed row, Luxe frosted glass; Ticket/Bracket/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardStyleRadius`,type:`FaqCardStyleRadius | null`,id:`param-faq-card-style-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardStyleAccentColor`,type:`string | null`,id:`param-faq-card-style-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`faqCardStyleAccentColorLight`,type:`string | null`,id:`param-faq-card-style-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqCardStyleForgeScope`,type:`FaqCardStyleForgeScope | null`,id:`param-faq-card-style-forge-scope`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardStyleForgeWeight`,type:`FaqCardStyleForgeWeight | null`,id:`param-faq-card-style-forge-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardHover`,type:`FaqCardHover | null`,id:`param-faq-card-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a question row does on hover. None (the default) keeps the accordion calm — the open/close motion is the interaction. The card effects (Lift/Glow/…) suit the card styles; the cursor-tracked ones need site animations on. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAccentColor`,type:`string | null`,id:`param-faq-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — colors the toggle icon and the open question’s highlight. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`faqAccentColorLight`,type:`string | null`,id:`param-faq-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqQuestionSize`,type:`FaqQuestionSize | null`,id:`param-faq-question-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Question size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqQuestionWeight`,type:`FaqQuestionWeight | null`,id:`param-faq-question-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Question weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqQuestionColor`,type:`string | null`,id:`param-faq-question-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`faqQuestionColorLight`,type:`string | null`,id:`param-faq-question-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqAnswerSize`,type:`FaqAnswerSize | null`,id:`param-faq-answer-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Answer size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAnswerWeight`,type:`FaqAnswerWeight | null`,id:`param-faq-answer-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Answer weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAnswerColor`,type:`string | null`,id:`param-faq-answer-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`faqAnswerColorLight`,type:`string | null`,id:`param-faq-answer-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqGroupHeadingWeight`,type:`FaqGroupHeadingWeight | null`,id:`param-faq-group-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Category heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqGroupHeadingColor`,type:`string | null`,id:`param-faq-group-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`faqGroupHeadingColorLight`,type:`string | null`,id:`param-faq-group-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqBg`,type:`FaqBg | null`,id:`param-faq-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqBgCustom`,type:`string | null`,id:`param-faq-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`faqBgLight`,type:`FaqBgLight | null`,id:`param-faq-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqBgLightCustom`,type:`string | null`,id:`param-faq-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`faqFontOverrides`,type:`readonly FaqWidgetFaqFontOverridesItem[]`,id:`param-faq-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FaqWidgetFaqFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`FaqWidgetFaqFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-40`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly FaqWidgetFaqFontOverridesItemUploadsItem[]`,id:`param-uploads-7`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FaqWidgetFaqFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`FaqWidgetFaqFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-41`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-36`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-7`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-37`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`faqCtaLabel`,type:`string`,id:`param-faq-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`faqCtaUrl`,type:`string`,id:`param-faq-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`faqCtaNewTab`,type:`boolean`,id:`param-faq-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`faqCtaVariant`,type:`FaqCtaVariant | null`,id:`param-faq-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaSize`,type:`FaqCtaSize | null`,id:`param-faq-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaRadius`,type:`FaqCtaRadius | null`,id:`param-faq-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaColor`,type:`string | null`,id:`param-faq-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`faqCtaColorLight`,type:`string | null`,id:`param-faq-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`faqCtaTextColor`,type:`string | null`,id:`param-faq-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`faqCtaTextColorLight`,type:`string | null`,id:`param-faq-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`faqCtaHoverColor`,type:`string | null`,id:`param-faq-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`faqCtaHoverColorLight`,type:`string | null`,id:`param-faq-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`faqCtaStyle`,type:`FaqCtaStyle | null`,id:`param-faq-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaShadowColor`,type:`string | null`,id:`param-faq-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`faqCtaShadowColorLight`,type:`string | null`,id:`param-faq-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`faqCtaAnimation`,type:`FaqCtaAnimation | null`,id:`param-faq-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaIcon`,type:`string`,id:`param-faq-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`faqCtaIconFamily`,type:`FaqCtaIconFamily | null`,id:`param-faq-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaIconPosition`,type:`FaqCtaIconPosition | null`,id:`param-faq-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaIconNudge`,type:`boolean`,id:`param-faq-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-38`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]})]}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-39`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsxs(ResponseField,{name:`afterContent`,type:`AfterContentArea`,id:`param-after-content`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. An `,_jsx(_components.code,{children:`AfterContentArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area.`]}),_jsxs(Expandable,{title:`AfterContentArea`,children:[_jsx(ResponseField,{name:`metaType`,type:`AfterContentAreaMetaType`,id:`param-meta-type-18`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`area`}),`. One of `,_jsx(_components.code,{children:`area`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-42`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The area’s id, set by the site: leave it out when you write one.`]})}),_jsxs(ResponseField,{name:`items`,type:`readonly AfterContentAreaItem[]`,id:`param-items-4`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`AfterContentAreaItem`}),`. The widgets, top to bottom. Each is an object with its `,_jsx(_components.code,{children:`type`}),` and that widget’s own fields; `,_jsx(_components.code,{children:`_id`}),` and `,_jsx(_components.code,{children:`metaType`}),` may be left out (the site sets them).`]}),_jsxs(Expandable,{title:`AfterContentAreaItem`,children:[_jsxs(_components.p,{children:[`A widget in an area that takes `,_jsx(_components.code,{children:`@apostrophecms/layout`}),`, `,_jsx(_components.code,{children:`intro`}),`, `,_jsx(_components.code,{children:`feature`}),`, `,_jsx(_components.code,{children:`stats`}),`, `,_jsx(_components.code,{children:`logos`}),`, `,_jsx(_components.code,{children:`steps`}),`, `,_jsx(_components.code,{children:`media-text`}),`, `,_jsx(_components.code,{children:`device-mock`}),`, `,_jsx(_components.code,{children:`team`}),`, `,_jsx(_components.code,{children:`faq`}),`, `,_jsx(_components.code,{children:`service-map`}),`, `,_jsx(_components.code,{children:`blog-preview`}),`, `,_jsx(_components.code,{children:`cookie-declaration`}),`, `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`, `,_jsx(_components.code,{children:`pricing`}),`, `,_jsx(_components.code,{children:`newsletter`}),`, `,_jsx(_components.code,{children:`sms-signup`}),`, `,_jsx(_components.code,{children:`form-render`}),`, `,_jsx(_components.code,{children:`final-cta`}),`: the one its `,_jsx(_components.code,{children:`type`}),` names.`]}),_jsxs(Expandable,{title:`LayoutWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/layout`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`LayoutWidgetType`,id:`param-type-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/layout`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/layout`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-43`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-19`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`columns`,type:`LayoutColumnArea`,id:`param-columns-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A `,_jsx(_components.code,{children:`LayoutColumnArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area. Its fields are listed under the first `,_jsx(_components.code,{children:`LayoutColumnArea`}),` above.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-40`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`IntroWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`intro`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`IntroWidgetType`,id:`param-type-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`intro`}),`. One of `,_jsx(_components.code,{children:`intro`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-44`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-20`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introEyebrow`,type:`string`,id:`param-intro-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`introEyebrowColor`,type:`string | null`,id:`param-intro-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`introEyebrowColorLight`,type:`string | null`,id:`param-intro-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`introEyebrowWeight`,type:`IntroEyebrowWeight | null`,id:`param-intro-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introEyebrowSize`,type:`IntroEyebrowSize | null`,id:`param-intro-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introHeadline`,type:`string`,id:`param-intro-headline-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Headline.`]})}),_jsx(ResponseField,{name:`introHeadlineColor`,type:`string | null`,id:`param-intro-headline-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the headline color. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`introHeadlineColorLight`,type:`string | null`,id:`param-intro-headline-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`introHeadlineWeight`,type:`IntroHeadlineWeight | null`,id:`param-intro-headline-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Headline weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introBody`,type:`string`,id:`param-intro-body-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Body copy.`]})}),_jsx(ResponseField,{name:`introBodyColor`,type:`string | null`,id:`param-intro-body-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the body text color. Leave empty for the muted default.`]})}),_jsx(ResponseField,{name:`introBodyColorLight`,type:`string | null`,id:`param-intro-body-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the muted default.`]})}),_jsx(ResponseField,{name:`introBodyWeight`,type:`IntroBodyWeight | null`,id:`param-intro-body-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoPlacement`,type:`IntroPhotoPlacement | null`,id:`param-intro-photo-placement-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the optional photo sits. Left/right place it beside the text; Full background fills the whole section behind the text (with a readability overlay). One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`, `,_jsx(_components.code,{children:`background`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introImage`,type:`ImageArea`,id:`param-intro-image-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. An `,_jsx(_components.code,{children:`ImageArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area. Its fields are listed under the first `,_jsx(_components.code,{children:`ImageArea`}),` above.`]})}),_jsx(ResponseField,{name:`introPhotoCorners`,type:`IntroPhotoCorners | null`,id:`param-intro-photo-corners-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Photo corners. One of `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`squared`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoFrame`,type:`IntroPhotoFrame | null`,id:`param-intro-photo-frame-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border draws a frame around the photo; Offset adds a refined offset accent frame behind it. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`offset`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoFrameColor`,type:`string | null`,id:`param-intro-photo-frame-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / offset-frame color. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`introPhotoTilt`,type:`IntroPhotoTilt | null`,id:`param-intro-photo-tilt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A slight rotation for a more playful look. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introPhotoHover`,type:`IntroPhotoHover | null`,id:`param-intro-photo-hover-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Photo hover effect. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`zoom`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`lift-glow`}),`, `,_jsx(_components.code,{children:`zoom-glow`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introOverlayColor`,type:`string | null`,id:`param-intro-overlay-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Scrim behind the text over a full-background photo. Leave empty to use the dark surface color.`]})}),_jsx(ResponseField,{name:`introOverlayColorLight`,type:`string | null`,id:`param-intro-overlay-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme overlay, then the light surface color.`]})}),_jsx(ResponseField,{name:`introOverlayOpacity`,type:`number | null`,id:`param-intro-overlay-opacity-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Overlay opacity (%). 0 to 100.`]})}),_jsx(ResponseField,{name:`introBg`,type:`IntroBg | null`,id:`param-intro-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introBgCustom`,type:`string | null`,id:`param-intro-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`introBgLight`,type:`IntroBgLight | null`,id:`param-intro-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`introBgLightCustom`,type:`string | null`,id:`param-intro-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`introFontOverrides`,type:`readonly IntroWidgetIntroFontOverridesItem[]`,id:`param-intro-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`IntroWidgetIntroFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`IntroWidgetIntroFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-41`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`FeatureWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`feature`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`FeatureWidgetType`,id:`param-type-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`feature`}),`. One of `,_jsx(_components.code,{children:`feature`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-45`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-21`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureColumns`,type:`FeatureColumns | null`,id:`param-feature-columns-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of cards. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureGap`,type:`FeatureGap | null`,id:`param-feature-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between cards. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardSize`,type:`FeatureCardSize | null`,id:`param-feature-card-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Scales padding, icon, title, and the index numeral together. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyle`,type:`FeatureCardStyle | null`,id:`param-feature-card-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The card treatment. Poster (the default) frames the card with an accent keyline; Raised is a quiet lit card; Luxe a frosted glass panel; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyleRadius`,type:`FeatureCardStyleRadius | null`,id:`param-feature-card-style-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyleAccentColor`,type:`string | null`,id:`param-feature-card-style-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`featureCardStyleAccentColorLight`,type:`string | null`,id:`param-feature-card-style-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`featureCardStyleForgeScope`,type:`FeatureCardStyleForgeScope | null`,id:`param-feature-card-style-forge-scope-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardStyleForgeWeight`,type:`FeatureCardStyleForgeWeight | null`,id:`param-feature-card-style-forge-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardHover`,type:`FeatureCardHover | null`,id:`param-feature-card-hover-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How a card reacts on hover. Pop is the lift + hard offset shadow; Glow is a soft accent halo. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCardHoverColor`,type:`string | null`,id:`param-feature-card-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / shadow / glow color on hover. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`featureCardHoverColorLight`,type:`string | null`,id:`param-feature-card-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`featureNumbering`,type:`boolean`,id:`param-feature-numbering-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A big outlined numeral on each card (01, 02, …). Great for step-by-step sequences; turn off when the cards aren’t ordered.`]})}),_jsx(ResponseField,{name:`featureNumberFill`,type:`FeatureNumberFill | null`,id:`param-feature-number-fill-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Same treatment as the hero ghost text: all numbers solid, outlined and filling on hover, or always outlined. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`hover`}),`, `,_jsx(_components.code,{children:`outline`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureNumberColor`,type:`string | null`,id:`param-feature-number-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Tints the numeral fill + outline. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`featureNumberColorLight`,type:`string | null`,id:`param-feature-number-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`featureTitleColor`,type:`string | null`,id:`param-feature-title-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the card title color. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`featureTitleColorLight`,type:`string | null`,id:`param-feature-title-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`featureTitleWeight`,type:`FeatureTitleWeight | null`,id:`param-feature-title-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureTextColor`,type:`string | null`,id:`param-feature-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the card text color. Leave empty for the muted default.`]})}),_jsx(ResponseField,{name:`featureTextColorLight`,type:`string | null`,id:`param-feature-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the muted default.`]})}),_jsx(ResponseField,{name:`featureTextWeight`,type:`FeatureTextWeight | null`,id:`param-feature-text-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Text weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureCards`,type:`readonly FeatureWidgetFeatureCardsItem[]`,id:`param-feature-cards-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FeatureWidgetFeatureCardsItem`}),`. Feature cards. Its fields are listed under the first `,_jsx(_components.code,{children:`FeatureWidgetFeatureCardsItem`}),` above.`]})}),_jsx(ResponseField,{name:`featureBg`,type:`FeatureBg | null`,id:`param-feature-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureBgCustom`,type:`string | null`,id:`param-feature-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`featureBgLight`,type:`FeatureBgLight | null`,id:`param-feature-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`featureBgLightCustom`,type:`string | null`,id:`param-feature-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`featureFontOverrides`,type:`readonly FeatureWidgetFeatureFontOverridesItem[]`,id:`param-feature-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FeatureWidgetFeatureFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`FeatureWidgetFeatureFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-42`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`StatsWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`stats`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`StatsWidgetType`,id:`param-type-18`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`stats`}),`. One of `,_jsx(_components.code,{children:`stats`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-46`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-22`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsEyebrowEnabled`,type:`boolean`,id:`param-stats-eyebrow-enabled-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “By the numbers”).`]})}),_jsx(ResponseField,{name:`statsEyebrow`,type:`string`,id:`param-stats-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`statsEyebrowColor`,type:`string | null`,id:`param-stats-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`statsEyebrowColorLight`,type:`string | null`,id:`param-stats-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`statsEyebrowWeight`,type:`StatsEyebrowWeight | null`,id:`param-stats-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsEyebrowSize`,type:`StatsEyebrowSize | null`,id:`param-stats-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsHeading`,type:`string`,id:`param-stats-heading-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the numbers.`]})}),_jsx(ResponseField,{name:`statsHeadingColor`,type:`string | null`,id:`param-stats-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`statsHeadingColorLight`,type:`string | null`,id:`param-stats-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`statsHeadingWeight`,type:`StatsHeadingWeight | null`,id:`param-stats-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsColumns`,type:`StatsColumns | null`,id:`param-stats-columns-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of stats. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsGap`,type:`StatsGap | null`,id:`param-stats-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between stats. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsSize`,type:`StatsSize | null`,id:`param-stats-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The baseline scale for the whole stat (value / icon / label / description stay proportional). Fine-tune any single element with its own size control below. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsAlign`,type:`StatsAlign | null`,id:`param-stats-align-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Alignment. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsDividers`,type:`boolean`,id:`param-stats-dividers-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A hairline rule between each stat — the classic “by the numbers” rail.`]})}),_jsx(ResponseField,{name:`statsCountUp`,type:`boolean`,id:`param-stats-count-up-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Numbers tick up from zero when the band scrolls into view. Non-numeric values and reduced-motion visitors simply show the final value.`]})}),_jsx(ResponseField,{name:`statsIconSize`,type:`StatsIconSize | null`,id:`param-stats-icon-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of the icon above each number, independent of the overall stat size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`, `,_jsx(_components.code,{children:`xxl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsIconGap`,type:`StatsIconGap | null`,id:`param-stats-icon-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Space between the icon and the number below it. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsValueSize`,type:`StatsValueSize | null`,id:`param-stats-value-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Value size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`xs`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsValueWeight`,type:`StatsValueWeight | null`,id:`param-stats-value-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Value weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsValueColor`,type:`string | null`,id:`param-stats-value-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The big numeral. Optional — leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`statsValueColorLight`,type:`string | null`,id:`param-stats-value-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`statsLabelSize`,type:`StatsLabelSize | null`,id:`param-stats-label-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Label size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`xs`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsLabelWeight`,type:`StatsLabelWeight | null`,id:`param-stats-label-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Label weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsLabelColor`,type:`string | null`,id:`param-stats-label-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`statsLabelColorLight`,type:`string | null`,id:`param-stats-label-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`statsDescriptionSize`,type:`StatsDescriptionSize | null`,id:`param-stats-description-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Description size. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`xs`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`md`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsDescriptionWeight`,type:`StatsDescriptionWeight | null`,id:`param-stats-description-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Description weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsDescriptionColor`,type:`string | null`,id:`param-stats-description-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`statsDescriptionColorLight`,type:`string | null`,id:`param-stats-description-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stats`,type:`readonly StatsWidgetStatsItem[]`,id:`param-stats-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StatsWidgetStatsItem`}),`. Stats. Its fields are listed under the first `,_jsx(_components.code,{children:`StatsWidgetStatsItem`}),` above.`]})}),_jsx(ResponseField,{name:`statsBg`,type:`StatsBg | null`,id:`param-stats-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsBgCustom`,type:`string | null`,id:`param-stats-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`statsBgLight`,type:`StatsBgLight | null`,id:`param-stats-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsBgLightCustom`,type:`string | null`,id:`param-stats-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`statsFontOverrides`,type:`readonly StatsWidgetStatsFontOverridesItem[]`,id:`param-stats-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StatsWidgetStatsFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`StatsWidgetStatsFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`statsCtaLabel`,type:`string`,id:`param-stats-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`statsCtaUrl`,type:`string`,id:`param-stats-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`statsCtaNewTab`,type:`boolean`,id:`param-stats-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`statsCtaVariant`,type:`StatsCtaVariant | null`,id:`param-stats-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaSize`,type:`StatsCtaSize | null`,id:`param-stats-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaRadius`,type:`StatsCtaRadius | null`,id:`param-stats-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaColor`,type:`string | null`,id:`param-stats-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`statsCtaColorLight`,type:`string | null`,id:`param-stats-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`statsCtaTextColor`,type:`string | null`,id:`param-stats-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`statsCtaTextColorLight`,type:`string | null`,id:`param-stats-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`statsCtaHoverColor`,type:`string | null`,id:`param-stats-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`statsCtaHoverColorLight`,type:`string | null`,id:`param-stats-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`statsCtaStyle`,type:`StatsCtaStyle | null`,id:`param-stats-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaShadowColor`,type:`string | null`,id:`param-stats-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`statsCtaShadowColorLight`,type:`string | null`,id:`param-stats-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`statsCtaAnimation`,type:`StatsCtaAnimation | null`,id:`param-stats-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaIcon`,type:`string`,id:`param-stats-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`statsCtaIconFamily`,type:`StatsCtaIconFamily | null`,id:`param-stats-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaIconPosition`,type:`StatsCtaIconPosition | null`,id:`param-stats-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`statsCtaIconNudge`,type:`boolean`,id:`param-stats-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-43`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`LogosWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`logos`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`LogosWidgetType`,id:`param-type-19`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`logos`}),`. One of `,_jsx(_components.code,{children:`logos`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-47`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-23`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosEyebrowEnabled`,type:`boolean`,id:`param-logos-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “Trusted by”).`]})}),_jsx(ResponseField,{name:`logosEyebrow`,type:`string`,id:`param-logos-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`logosEyebrowColor`,type:`string | null`,id:`param-logos-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`logosEyebrowColorLight`,type:`string | null`,id:`param-logos-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`logosEyebrowWeight`,type:`LogosEyebrowWeight | null`,id:`param-logos-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosEyebrowSize`,type:`LogosEyebrowSize | null`,id:`param-logos-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosHeading`,type:`string`,id:`param-logos-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the logos.`]})}),_jsx(ResponseField,{name:`logosHeadingColor`,type:`string | null`,id:`param-logos-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`logosHeadingColorLight`,type:`string | null`,id:`param-logos-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`logosHeadingWeight`,type:`LogosHeadingWeight | null`,id:`param-logos-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosIntro`,type:`string`,id:`param-logos-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`logosIntroColor`,type:`string | null`,id:`param-logos-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`logosIntroColorLight`,type:`string | null`,id:`param-logos-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`logosIntroWeight`,type:`LogosIntroWeight | null`,id:`param-logos-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosDisplay`,type:`LogosDisplay | null`,id:`param-logos-display`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A slow scrolling ribbon (marquee) or a calm static grid. One of `,_jsx(_components.code,{children:`marquee`}),`, `,_jsx(_components.code,{children:`grid`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosSpeed`,type:`LogosSpeed | null`,id:`param-logos-speed`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marquee speed. One of `,_jsx(_components.code,{children:`slow`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`fast`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosDirection`,type:`LogosDirection | null`,id:`param-logos-direction`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marquee direction. One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosMotionPause`,type:`boolean`,id:`param-logos-motion-pause`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds a small, unobtrusive pause/play control so visitors can stop the auto-playing background motion (WCAG 2.2.2). Only appears when a moving background is set.`]})}),_jsx(ResponseField,{name:`logosColumns`,type:`LogosColumns | null`,id:`param-logos-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of logos. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`, `,_jsx(_components.code,{children:`5`}),`, `,_jsx(_components.code,{children:`6`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosGap`,type:`LogosGap | null`,id:`param-logos-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between logos. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosSize`,type:`LogosSize | null`,id:`param-logos-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The height each logo is scaled to (width follows the logo’s aspect ratio). One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosAlign`,type:`LogosAlign | null`,id:`param-logos-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aligns the eyebrow / heading / intro (and the grid when there are few logos). One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosTile`,type:`boolean`,id:`param-logos-tile`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Sets every logo on a raised, bordered card. Off = logos sit straight on the background.`]})}),_jsx(ResponseField,{name:`logosGrayscale`,type:`boolean`,id:`param-logos-grayscale`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Mutes the logos to grayscale and dims them, returning to full color on hover — the classic logo-wall look.`]})}),_jsxs(ResponseField,{name:`logos`,type:`readonly LogosWidgetLogosItem[]`,id:`param-logos`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`LogosWidgetLogosItem`}),`. Logos.`]}),_jsxs(Expandable,{title:`LogosWidgetLogosItem`,children:[_jsx(ResponseField,{name:`image`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-image-3`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Pick a logo from the Images library. A transparent PNG or an SVG works best. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`name`,type:`string`,id:`param-name-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Company / partner / certification name — used as the image alt text and the link title.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-48`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`linkUrl`,type:`string`,id:`param-link-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Make this logo a link, e.g. to the partner’s site. Opens in a new tab for external URLs.`]})}),_jsx(ResponseField,{name:`invertDark`,type:`boolean`,id:`param-invert-dark`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. For dark / black logos that would vanish on the dark theme — flips them to light. Leave off for full-color or white logos.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-44`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`logosBg`,type:`LogosBg | null`,id:`param-logos-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosBgCustom`,type:`string | null`,id:`param-logos-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`logosBgLight`,type:`LogosBgLight | null`,id:`param-logos-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosBgLightCustom`,type:`string | null`,id:`param-logos-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`logosFontOverrides`,type:`readonly LogosWidgetLogosFontOverridesItem[]`,id:`param-logos-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`LogosWidgetLogosFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`LogosWidgetLogosFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-49`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly LogosWidgetLogosFontOverridesItemUploadsItem[]`,id:`param-uploads-8`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`LogosWidgetLogosFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`LogosWidgetLogosFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-50`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-45`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-8`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-46`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`logosCtaLabel`,type:`string`,id:`param-logos-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`logosCtaUrl`,type:`string`,id:`param-logos-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`logosCtaNewTab`,type:`boolean`,id:`param-logos-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`logosCtaVariant`,type:`LogosCtaVariant | null`,id:`param-logos-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaSize`,type:`LogosCtaSize | null`,id:`param-logos-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaRadius`,type:`LogosCtaRadius | null`,id:`param-logos-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaColor`,type:`string | null`,id:`param-logos-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`logosCtaColorLight`,type:`string | null`,id:`param-logos-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`logosCtaTextColor`,type:`string | null`,id:`param-logos-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`logosCtaTextColorLight`,type:`string | null`,id:`param-logos-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`logosCtaHoverColor`,type:`string | null`,id:`param-logos-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`logosCtaHoverColorLight`,type:`string | null`,id:`param-logos-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`logosCtaStyle`,type:`LogosCtaStyle | null`,id:`param-logos-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaShadowColor`,type:`string | null`,id:`param-logos-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`logosCtaShadowColorLight`,type:`string | null`,id:`param-logos-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`logosCtaAnimation`,type:`LogosCtaAnimation | null`,id:`param-logos-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaIcon`,type:`string`,id:`param-logos-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`logosCtaIconFamily`,type:`LogosCtaIconFamily | null`,id:`param-logos-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaIconPosition`,type:`LogosCtaIconPosition | null`,id:`param-logos-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`logosCtaIconNudge`,type:`boolean`,id:`param-logos-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-47`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`StepsWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`steps`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`StepsWidgetType`,id:`param-type-20`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`steps`}),`. One of `,_jsx(_components.code,{children:`steps`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-51`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-24`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsEyebrowEnabled`,type:`boolean`,id:`param-steps-eyebrow-enabled-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “How it works”).`]})}),_jsx(ResponseField,{name:`stepsEyebrow`,type:`string`,id:`param-steps-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`stepsEyebrowColor`,type:`string | null`,id:`param-steps-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`stepsEyebrowColorLight`,type:`string | null`,id:`param-steps-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsEyebrowWeight`,type:`StepsEyebrowWeight | null`,id:`param-steps-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsEyebrowSize`,type:`StepsEyebrowSize | null`,id:`param-steps-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsHeading`,type:`string`,id:`param-steps-heading-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the steps.`]})}),_jsx(ResponseField,{name:`stepsHeadingColor`,type:`string | null`,id:`param-steps-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`stepsHeadingColorLight`,type:`string | null`,id:`param-steps-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsHeadingWeight`,type:`StepsHeadingWeight | null`,id:`param-steps-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsHeadingSize`,type:`StepsHeadingSize | null`,id:`param-steps-heading-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsIntro`,type:`string`,id:`param-steps-intro-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`stepsIntroColor`,type:`string | null`,id:`param-steps-intro-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`stepsIntroColorLight`,type:`string | null`,id:`param-steps-intro-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsIntroWeight`,type:`StepsIntroWeight | null`,id:`param-steps-intro-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsIntroSize`,type:`StepsIntroSize | null`,id:`param-steps-intro-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsLayout`,type:`StepsLayout | null`,id:`param-steps-layout-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal lays the steps across a row (marker on top); Vertical stacks them as a classic timeline (marker on the left). One of `,_jsx(_components.code,{children:`horizontal`}),`, `,_jsx(_components.code,{children:`vertical`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsColumns`,type:`StepsColumns | null`,id:`param-steps-columns-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal only. Auto fits as many as comfortably fit and works for any number of steps. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsGap`,type:`StepsGap | null`,id:`param-steps-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between steps. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsAlign`,type:`StepsAlign | null`,id:`param-steps-align-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Horizontal only — aligns the section header and each step’s text. (Vertical is always left-aligned beside its marker.) One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsConnector`,type:`boolean`,id:`param-steps-connector-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A line linking the step markers into a timeline (down the markers when vertical, across them when horizontal).`]})}),_jsx(ResponseField,{name:`stepsCardStyle`,type:`StepsCardStyle | null`,id:`param-steps-card-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Plain keeps the connector-linked timeline (just marker + text, no card). Every other style boxes each step — Raised is a quiet lit card, Luxe a frosted glass panel, Outline a plaque frame, Spine adds a color rail, Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardStyleRadius`,type:`StepsCardStyleRadius | null`,id:`param-steps-card-style-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardStyleAccentColor`,type:`string | null`,id:`param-steps-card-style-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`stepsCardStyleAccentColorLight`,type:`string | null`,id:`param-steps-card-style-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsCardStyleForgeScope`,type:`StepsCardStyleForgeScope | null`,id:`param-steps-card-style-forge-scope-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardStyleForgeWeight`,type:`StepsCardStyleForgeWeight | null`,id:`param-steps-card-style-forge-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCardHover`,type:`StepsCardHover | null`,id:`param-steps-card-hover-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a boxed step does on hover (applies when Step style is not Plain). Lift/Pop/Press/Glow/Outline are instant; Sheen sweeps a light across; Tilt, Magnetic and Spotlight follow the cursor (need site animations on). One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarker`,type:`StepsMarker | null`,id:`param-steps-marker-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Number auto-counts 1, 2, 3…; Icon shows each step’s icon (falling back to the number when a step has none); None hides the marker badge. One of `,_jsx(_components.code,{children:`number`}),`, `,_jsx(_components.code,{children:`icon`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarkerStyle`,type:`StepsMarkerStyle | null`,id:`param-steps-marker-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Soft is a tinted accent badge; Filled is a solid accent badge; Outline is a bordered badge. One of `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`filled`}),`, `,_jsx(_components.code,{children:`outline`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarkerShape`,type:`StepsMarkerShape | null`,id:`param-steps-marker-shape-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marker shape. One of `,_jsx(_components.code,{children:`circle`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsMarkerSize`,type:`StepsMarkerSize | null`,id:`param-steps-marker-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marker size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsAccentColor`,type:`string | null`,id:`param-steps-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Color for the marker badge and the connector line. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`stepsAccentColorLight`,type:`string | null`,id:`param-steps-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme accent.`]})}),_jsx(ResponseField,{name:`stepsTitleSize`,type:`StepsTitleSize | null`,id:`param-steps-title-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsTitleWeight`,type:`StepsTitleWeight | null`,id:`param-steps-title-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsTitleColor`,type:`string | null`,id:`param-steps-title-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`stepsTitleColorLight`,type:`string | null`,id:`param-steps-title-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsBodySize`,type:`StepsBodySize | null`,id:`param-steps-body-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBodyWeight`,type:`StepsBodyWeight | null`,id:`param-steps-body-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBodyColor`,type:`string | null`,id:`param-steps-body-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`stepsBodyColorLight`,type:`string | null`,id:`param-steps-body-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`stepsItems`,type:`readonly StepsWidgetStepsItemsItem[]`,id:`param-steps-items-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StepsWidgetStepsItemsItem`}),`. Each item is one step in the process. They render in this order; the number marker counts automatically. Its fields are listed under the first `,_jsx(_components.code,{children:`StepsWidgetStepsItemsItem`}),` above.`]})}),_jsx(ResponseField,{name:`stepsBg`,type:`StepsBg | null`,id:`param-steps-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBgCustom`,type:`string | null`,id:`param-steps-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`stepsBgLight`,type:`StepsBgLight | null`,id:`param-steps-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsBgLightCustom`,type:`string | null`,id:`param-steps-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`stepsFontOverrides`,type:`readonly StepsWidgetStepsFontOverridesItem[]`,id:`param-steps-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`StepsWidgetStepsFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`StepsWidgetStepsFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`stepsCtaLabel`,type:`string`,id:`param-steps-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`stepsCtaUrl`,type:`string`,id:`param-steps-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`stepsCtaNewTab`,type:`boolean`,id:`param-steps-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`stepsCtaVariant`,type:`StepsCtaVariant | null`,id:`param-steps-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaSize`,type:`StepsCtaSize | null`,id:`param-steps-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaRadius`,type:`StepsCtaRadius | null`,id:`param-steps-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaColor`,type:`string | null`,id:`param-steps-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`stepsCtaColorLight`,type:`string | null`,id:`param-steps-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`stepsCtaTextColor`,type:`string | null`,id:`param-steps-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`stepsCtaTextColorLight`,type:`string | null`,id:`param-steps-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`stepsCtaHoverColor`,type:`string | null`,id:`param-steps-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`stepsCtaHoverColorLight`,type:`string | null`,id:`param-steps-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`stepsCtaStyle`,type:`StepsCtaStyle | null`,id:`param-steps-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaShadowColor`,type:`string | null`,id:`param-steps-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`stepsCtaShadowColorLight`,type:`string | null`,id:`param-steps-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`stepsCtaAnimation`,type:`StepsCtaAnimation | null`,id:`param-steps-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaIcon`,type:`string`,id:`param-steps-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`stepsCtaIconFamily`,type:`StepsCtaIconFamily | null`,id:`param-steps-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaIconPosition`,type:`StepsCtaIconPosition | null`,id:`param-steps-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`stepsCtaIconNudge`,type:`boolean`,id:`param-steps-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-18`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-48`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`MediaTextWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`media-text`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`MediaTextWidgetType`,id:`param-type-21`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`media-text`}),`. One of `,_jsx(_components.code,{children:`media-text`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-52`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-25`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowEnabled`,type:`boolean`,id:`param-media-text-eyebrow-enabled-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the section heading (e.g. “Why us”).`]})}),_jsx(ResponseField,{name:`mediaTextEyebrow`,type:`string`,id:`param-media-text-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowColor`,type:`string | null`,id:`param-media-text-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowColorLight`,type:`string | null`,id:`param-media-text-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowWeight`,type:`MediaTextEyebrowWeight | null`,id:`param-media-text-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextEyebrowSize`,type:`MediaTextEyebrowSize | null`,id:`param-media-text-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextHeading`,type:`string`,id:`param-media-text-heading-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional section heading above the blocks. Leave empty to show just the blocks.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingColor`,type:`string | null`,id:`param-media-text-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingColorLight`,type:`string | null`,id:`param-media-text-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingWeight`,type:`MediaTextHeadingWeight | null`,id:`param-media-text-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextHeadingSize`,type:`MediaTextHeadingSize | null`,id:`param-media-text-heading-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextIntro`,type:`string`,id:`param-media-text-intro-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`mediaTextIntroColor`,type:`string | null`,id:`param-media-text-intro-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`mediaTextIntroColorLight`,type:`string | null`,id:`param-media-text-intro-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextIntroWeight`,type:`MediaTextIntroWeight | null`,id:`param-media-text-intro-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextIntroSize`,type:`MediaTextIntroSize | null`,id:`param-media-text-intro-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextAlign`,type:`MediaTextAlign | null`,id:`param-media-text-align-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aligns the section header and the text inside each block. (Side-by-side rows usually read best left-aligned.) One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`center`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextRatio`,type:`MediaTextRatio | null`,id:`param-media-text-ratio-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. For media-left / media-right rows: how the two columns share the width. One of `,_jsx(_components.code,{children:`balanced`}),`, `,_jsx(_components.code,{children:`media`}),`, `,_jsx(_components.code,{children:`text`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextVAlign`,type:`MediaTextVAlign | null`,id:`param-media-text-v-align-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. For media-left / media-right rows: how the text lines up against the media. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`top`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextMediaRatio`,type:`MediaTextMediaRatio | null`,id:`param-media-text-media-ratio-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aspect ratio of the media frame. Auto keeps an image at its natural shape (videos and embeds always use a ratio). One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`landscape`}),`, `,_jsx(_components.code,{children:`standard`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`portrait`}),`, `,_jsx(_components.code,{children:`wide`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextMediaRadius`,type:`MediaTextMediaRadius | null`,id:`param-media-text-media-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Media corners. One of `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextGap`,type:`MediaTextGap | null`,id:`param-media-text-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between blocks. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextDividers`,type:`boolean`,id:`param-media-text-dividers-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A hairline rule between blocks.`]})}),_jsx(ResponseField,{name:`mediaTextBlockEyebrowColor`,type:`string | null`,id:`param-media-text-block-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Each block’s eyebrow color. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockEyebrowColorLight`,type:`string | null`,id:`param-media-text-block-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockEyebrowWeight`,type:`MediaTextBlockEyebrowWeight | null`,id:`param-media-text-block-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingColor`,type:`string | null`,id:`param-media-text-block-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingColorLight`,type:`string | null`,id:`param-media-text-block-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingWeight`,type:`MediaTextBlockHeadingWeight | null`,id:`param-media-text-block-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBlockHeadingSize`,type:`MediaTextBlockHeadingSize | null`,id:`param-media-text-block-heading-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBodyColor`,type:`string | null`,id:`param-media-text-body-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`mediaTextBodyColorLight`,type:`string | null`,id:`param-media-text-body-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`mediaTextBodyWeight`,type:`MediaTextBodyWeight | null`,id:`param-media-text-body-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBodySize`,type:`MediaTextBodySize | null`,id:`param-media-text-body-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Block body size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBlocks`,type:`readonly MediaTextWidgetMediaTextBlocksItem[]`,id:`param-media-text-blocks-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextBlocksItem`}),`. Each block is one media + text row. They render top to bottom in this order; alternate “Media left” / “Media right” for a classic zig-zag. Its fields are listed under the first `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextBlocksItem`}),` above.`]})}),_jsx(ResponseField,{name:`mediaTextBg`,type:`MediaTextBg | null`,id:`param-media-text-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBgCustom`,type:`string | null`,id:`param-media-text-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`mediaTextBgLight`,type:`MediaTextBgLight | null`,id:`param-media-text-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextBgLightCustom`,type:`string | null`,id:`param-media-text-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`mediaTextFontOverrides`,type:`readonly MediaTextWidgetMediaTextFontOverridesItem[]`,id:`param-media-text-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`MediaTextWidgetMediaTextFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`mediaTextCtaVariant`,type:`MediaTextCtaVariant | null`,id:`param-media-text-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaSize`,type:`MediaTextCtaSize | null`,id:`param-media-text-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaRadius`,type:`MediaTextCtaRadius | null`,id:`param-media-text-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaColor`,type:`string | null`,id:`param-media-text-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`mediaTextCtaColorLight`,type:`string | null`,id:`param-media-text-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`mediaTextCtaTextColor`,type:`string | null`,id:`param-media-text-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`mediaTextCtaTextColorLight`,type:`string | null`,id:`param-media-text-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaHoverColor`,type:`string | null`,id:`param-media-text-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaHoverColorLight`,type:`string | null`,id:`param-media-text-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaStyle`,type:`MediaTextCtaStyle | null`,id:`param-media-text-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaShadowColor`,type:`string | null`,id:`param-media-text-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaShadowColorLight`,type:`string | null`,id:`param-media-text-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`mediaTextCtaAnimation`,type:`MediaTextCtaAnimation | null`,id:`param-media-text-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIcon`,type:`string`,id:`param-media-text-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIconFamily`,type:`MediaTextCtaIconFamily | null`,id:`param-media-text-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIconPosition`,type:`MediaTextCtaIconPosition | null`,id:`param-media-text-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`mediaTextCtaIconNudge`,type:`boolean`,id:`param-media-text-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-19`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-49`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`DeviceMockWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`device-mock`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`DeviceMockWidgetType`,id:`param-type-22`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`device-mock`}),`. One of `,_jsx(_components.code,{children:`device-mock`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-53`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-26`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockArrangement`,type:`DeviceMockArrangement | null`,id:`param-device-mock-arrangement-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which devices to show. Duo overlaps a phone on the corner of a desktop browser; Trio adds a TV behind them (on narrow screens Trio drops the TV and shows as a Duo). Each device used gets its own screen tab. One of `,_jsx(_components.code,{children:`duo`}),`, `,_jsx(_components.code,{children:`trio`}),`, `,_jsx(_components.code,{children:`desktop`}),`, `,_jsx(_components.code,{children:`phone`}),`, `,_jsx(_components.code,{children:`tv`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockTextPlacement`,type:`DeviceMockTextPlacement | null`,id:`param-device-mock-text-placement-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the eyebrow / heading / intro / button sit. Left or right puts the text in a column beside the devices (stacked above them on narrow screens); None shows the devices only. One of `,_jsx(_components.code,{children:`above`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockSize`,type:`DeviceMockSize | null`,id:`param-device-mock-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How large the devices render within the section. One of `,_jsx(_components.code,{children:`compact`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBrowserRatio`,type:`DeviceMockBrowserRatio | null`,id:`param-device-mock-browser-ratio-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The browser window’s content area. Match your desktop captures. One of `,_jsx(_components.code,{children:`16:10`}),`, `,_jsx(_components.code,{children:`16:9`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBrowserUrl`,type:`string`,id:`param-device-mock-browser-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The address shown in the browser toolbar — decoration only, not a link.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneStatusBar`,type:`boolean`,id:`param-device-mock-phone-status-bar-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds a time / signal / battery bar across the top of the phone screen. Leave off for native phone screenshots — they already include the real status bar.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneTime`,type:`string`,id:`param-device-mock-phone-time-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Status bar time.`]})}),_jsx(ResponseField,{name:`deviceMockMotionPause`,type:`boolean`,id:`param-device-mock-motion-pause-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds a small, unobtrusive pause/play control so visitors can stop the auto-playing background motion (WCAG 2.2.2). Only appears when a moving background is set.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowEnabled`,type:`boolean`,id:`param-device-mock-eyebrow-enabled-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “Product tour”).`]})}),_jsx(ResponseField,{name:`deviceMockEyebrow`,type:`string`,id:`param-device-mock-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowColor`,type:`string | null`,id:`param-device-mock-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowColorLight`,type:`string | null`,id:`param-device-mock-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowWeight`,type:`DeviceMockEyebrowWeight | null`,id:`param-device-mock-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockEyebrowSize`,type:`DeviceMockEyebrowSize | null`,id:`param-device-mock-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockHeading`,type:`string`,id:`param-device-mock-heading-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the devices.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingColor`,type:`string | null`,id:`param-device-mock-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingColorLight`,type:`string | null`,id:`param-device-mock-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingWeight`,type:`DeviceMockHeadingWeight | null`,id:`param-device-mock-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockHeadingSize`,type:`DeviceMockHeadingSize | null`,id:`param-device-mock-heading-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockIntro`,type:`string`,id:`param-device-mock-intro-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short paragraph under the heading.`]})}),_jsx(ResponseField,{name:`deviceMockIntroColor`,type:`string | null`,id:`param-device-mock-intro-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`deviceMockIntroColorLight`,type:`string | null`,id:`param-device-mock-intro-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`deviceMockIntroWeight`,type:`DeviceMockIntroWeight | null`,id:`param-device-mock-intro-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockIntroSize`,type:`DeviceMockIntroSize | null`,id:`param-device-mock-intro-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCaption`,type:`string`,id:`param-device-mock-caption-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A short line shown under the devices.`]})}),_jsx(ResponseField,{name:`deviceMockTvMediaType`,type:`DeviceMockTvMediaType | null`,id:`param-device-mock-tv-media-type-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A still screenshot, or a short looping screen recording. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockTvImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-tv-image-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use a native-resolution 16:9 capture of the screen with NO device frame (the frame is drawn for you) — e.g. 1920 × 1080 or 3840 × 2160. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockTvImageAlt`,type:`string`,id:`param-device-mock-tv-image-alt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.`]})}),_jsx(ResponseField,{name:`deviceMockTvVideo`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-tv-video-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution 16:9 capture of the screen with NO device frame (the frame is drawn for you) — e.g. 1920 × 1080 or 3840 × 2160. The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockTvVideoAlt`,type:`string`,id:`param-device-mock-tv-video-alt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.`]})}),_jsx(ResponseField,{name:`deviceMockTvFit`,type:`DeviceMockTvFit | null`,id:`param-device-mock-tv-fit-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of `,_jsx(_components.code,{children:`cover`}),`, `,_jsx(_components.code,{children:`contain`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockTvAnchor`,type:`DeviceMockTvAnchor | null`,id:`param-device-mock-tv-anchor-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of `,_jsx(_components.code,{children:`top`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`bottom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopMediaType`,type:`DeviceMockDesktopMediaType | null`,id:`param-device-mock-desktop-media-type-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A still screenshot, or a short looping screen recording. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-desktop-image-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use a native-resolution capture of the page content only — no browser toolbar and no device frame (both are drawn for you). 16:10 (e.g. 2880 × 1800) or 16:9 (e.g. 2560 × 1440), matching the “Desktop screen shape” setting. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopImageAlt`,type:`string`,id:`param-device-mock-desktop-image-alt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopVideo`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-desktop-video-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution capture of the page content only — no browser toolbar and no device frame (both are drawn for you). 16:10 (e.g. 2880 × 1800) or 16:9 (e.g. 2560 × 1440), matching the “Desktop screen shape” setting. The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopVideoAlt`,type:`string`,id:`param-device-mock-desktop-video-alt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopFit`,type:`DeviceMockDesktopFit | null`,id:`param-device-mock-desktop-fit-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of `,_jsx(_components.code,{children:`cover`}),`, `,_jsx(_components.code,{children:`contain`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockDesktopAnchor`,type:`DeviceMockDesktopAnchor | null`,id:`param-device-mock-desktop-anchor-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of `,_jsx(_components.code,{children:`top`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`bottom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneMediaType`,type:`DeviceMockPhoneMediaType | null`,id:`param-device-mock-phone-media-type-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A still screenshot, or a short looping screen recording. One of `,_jsx(_components.code,{children:`image`}),`, `,_jsx(_components.code,{children:`video`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-phone-image-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use a native-resolution portrait screenshot with NO device frame (the frame is drawn for you) — e.g. 1179 × 2556 or 1290 × 2796 (about 9:19.5). The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneImageAlt`,type:`string`,id:`param-device-mock-phone-image-alt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Required once a screenshot is picked. Describe what the screen shows for visitors who can’t see it — e.g. “Dashboard with a weekly activity chart and a list of recent orders”. Skip the device itself (“a phone showing…”); the frame is decorative.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneVideo`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-device-mock-phone-video-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Pick a clip from the Videos library (⌘K → Videos). It plays as a short, muted, looping screen recording — keep it SHORT (about 5–15 seconds) and SMALL (under about 10 MB; an H.264 MP4 without an audio track is ideal), and give the Videos item a poster image: visitors see the poster first, and reduced-motion visitors only ever see the poster. Use a native-resolution portrait screenshot with NO device frame (the frame is drawn for you) — e.g. 1179 × 2556 or 1290 × 2796 (about 9:19.5). The related `,_jsx(_components.code,{children:`video`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneVideoAlt`,type:`string`,id:`param-device-mock-phone-video-alt-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Recommended. A short description of what the recording shows, read to screen-reader users — e.g. “Creating a new project in three clicks”. Leave empty only if the surrounding text already says it.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneFit`,type:`DeviceMockPhoneFit | null`,id:`param-device-mock-phone-fit-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Fill crops the media to fill the whole screen (best for native captures). Fit shows the whole image or video, leaving bars if its shape differs from the screen. One of `,_jsx(_components.code,{children:`cover`}),`, `,_jsx(_components.code,{children:`contain`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockPhoneAnchor`,type:`DeviceMockPhoneAnchor | null`,id:`param-device-mock-phone-anchor-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which part stays visible when the media is cropped. Top keeps an app’s header in view — right for most screenshots. One of `,_jsx(_components.code,{children:`top`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`bottom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBg`,type:`DeviceMockBg | null`,id:`param-device-mock-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBgCustom`,type:`string | null`,id:`param-device-mock-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`deviceMockBgLight`,type:`DeviceMockBgLight | null`,id:`param-device-mock-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockBgLightCustom`,type:`string | null`,id:`param-device-mock-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`deviceMockFontOverrides`,type:`readonly DeviceMockWidgetDeviceMockFontOverridesItem[]`,id:`param-device-mock-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`DeviceMockWidgetDeviceMockFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`DeviceMockWidgetDeviceMockFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`deviceMockCtaLabel`,type:`string`,id:`param-device-mock-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`deviceMockCtaUrl`,type:`string`,id:`param-device-mock-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`deviceMockCtaNewTab`,type:`boolean`,id:`param-device-mock-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`deviceMockCtaVariant`,type:`DeviceMockCtaVariant | null`,id:`param-device-mock-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaSize`,type:`DeviceMockCtaSize | null`,id:`param-device-mock-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaRadius`,type:`DeviceMockCtaRadius | null`,id:`param-device-mock-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaColor`,type:`string | null`,id:`param-device-mock-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`deviceMockCtaColorLight`,type:`string | null`,id:`param-device-mock-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`deviceMockCtaTextColor`,type:`string | null`,id:`param-device-mock-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`deviceMockCtaTextColorLight`,type:`string | null`,id:`param-device-mock-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaHoverColor`,type:`string | null`,id:`param-device-mock-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaHoverColorLight`,type:`string | null`,id:`param-device-mock-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaStyle`,type:`DeviceMockCtaStyle | null`,id:`param-device-mock-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaShadowColor`,type:`string | null`,id:`param-device-mock-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaShadowColorLight`,type:`string | null`,id:`param-device-mock-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`deviceMockCtaAnimation`,type:`DeviceMockCtaAnimation | null`,id:`param-device-mock-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIcon`,type:`string`,id:`param-device-mock-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIconFamily`,type:`DeviceMockCtaIconFamily | null`,id:`param-device-mock-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIconPosition`,type:`DeviceMockCtaIconPosition | null`,id:`param-device-mock-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`deviceMockCtaIconNudge`,type:`boolean`,id:`param-device-mock-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-20`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-50`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`TeamWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`team`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`TeamWidgetType`,id:`param-type-23`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`team`}),`. One of `,_jsx(_components.code,{children:`team`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-54`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-27`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamEyebrow`,type:`string`,id:`param-team-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`teamEyebrowColor`,type:`string | null`,id:`param-team-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`teamEyebrowColorLight`,type:`string | null`,id:`param-team-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`teamEyebrowWeight`,type:`TeamEyebrowWeight | null`,id:`param-team-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamEyebrowSize`,type:`TeamEyebrowSize | null`,id:`param-team-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamHeading`,type:`string`,id:`param-team-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the team.`]})}),_jsx(ResponseField,{name:`teamHeadingColor`,type:`string | null`,id:`param-team-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`teamHeadingColorLight`,type:`string | null`,id:`param-team-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamHeadingWeight`,type:`TeamHeadingWeight | null`,id:`param-team-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamIntro`,type:`string`,id:`param-team-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`teamIntroColor`,type:`string | null`,id:`param-team-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`teamIntroColorLight`,type:`string | null`,id:`param-team-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamIntroWeight`,type:`TeamIntroWeight | null`,id:`param-team-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamIntroSize`,type:`TeamIntroSize | null`,id:`param-team-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAlign`,type:`TeamAlign | null`,id:`param-team-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Header alignment. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamFeaturedOnly`,type:`boolean`,id:`param-team-featured-only`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show only members you have flagged “Featured” in the Team Members manager — e.g. a short leadership row on the home page.`]})}),_jsx(ResponseField,{name:`teamCount`,type:`number | null`,id:`param-team-count`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The most members to show, in the manager’s sort order. 1 to 50.`]})}),_jsx(ResponseField,{name:`teamLayout`,type:`TeamLayout | null`,id:`param-team-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Grid: a tidy multi-row grid (the full team page). Carousel: a continuous auto-scrolling marquee (needs site animations enabled — falls back to the grid when they are off). Spotlight: featured members large on top, the rest in a smaller grid. List: wide rows with the full bio. Scatter: a playful arrangement with varied spacing so the cards float freely. One of `,_jsx(_components.code,{children:`grid`}),`, `,_jsx(_components.code,{children:`carousel`}),`, `,_jsx(_components.code,{children:`spotlight`}),`, `,_jsx(_components.code,{children:`list`}),`, `,_jsx(_components.code,{children:`scatter`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamColumns`,type:`TeamColumns | null`,id:`param-team-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How many cards per row. Auto fits as many as comfortably fit (the Scatter layout composes on three columns when set to Auto). One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSpotlightHeroes`,type:`TeamSpotlightHeroes | null`,id:`param-team-spotlight-heroes`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How many members lead the section at full size. Members flagged “Featured” fill the spots first, in the manager’s sort order; any extra featured members join the rows below. One of `,_jsx(_components.code,{children:`1`}),`, `,_jsx(_components.code,{children:`2`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSpotlightColumns`,type:`TeamSpotlightColumns | null`,id:`param-team-spotlight-columns`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How many of the remaining members sit on each row under the featured spots. One of `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`, `,_jsx(_components.code,{children:`5`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSpeed`,type:`TeamSpeed | null`,id:`param-team-speed`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How fast the carousel auto-scrolls. One of `,_jsx(_components.code,{children:`vslow`}),`, `,_jsx(_components.code,{children:`slow`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`fast`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamDirection`,type:`TeamDirection | null`,id:`param-team-direction`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Scroll direction. One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamScatter`,type:`TeamScatter | null`,id:`param-team-scatter`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How far the cards drift from a tidy grid. Subtle keeps a loose grid; Wild pushes the offsets to their playful maximum. One of `,_jsx(_components.code,{children:`subtle`}),`, `,_jsx(_components.code,{children:`playful`}),`, `,_jsx(_components.code,{children:`wild`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamGap`,type:`TeamGap | null`,id:`param-team-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between cards. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCardLayout`,type:`TeamCardLayout | null`,id:`param-team-card-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Portrait: the photo on top, name/role/bio below — the classic team card. Overlay: a full-bleed photo with a solid color panel over its lower edge holding the name and role. Profile: a horizontal bar — avatar left, name/role/tagline right. Roster: minimal — just the avatar, name and role. (The List section layout always uses its own wide row.) One of `,_jsx(_components.code,{children:`portrait`}),`, `,_jsx(_components.code,{children:`overlay`}),`, `,_jsx(_components.code,{children:`profile`}),`, `,_jsx(_components.code,{children:`roster`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamPhotoAspect`,type:`TeamPhotoAspect | null`,id:`param-team-photo-aspect`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The photo’s aspect ratio on the photo-led card layouts. One of `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`portrait`}),`, `,_jsx(_components.code,{children:`tall`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAvatarShape`,type:`TeamAvatarShape | null`,id:`param-team-avatar-shape`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The photo’s outline. Squircle is a soft superellipse-style corner (approximated with heavy rounding). One of `,_jsx(_components.code,{children:`circle`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`squircle`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAvatarSize`,type:`TeamAvatarSize | null`,id:`param-team-avatar-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Avatar size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAvatarBorder`,type:`TeamAvatarBorder | null`,id:`param-team-avatar-border`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A ring around the photo in the avatar color. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`hairline`}),`, `,_jsx(_components.code,{children:`thin`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAvatarTreatment`,type:`TeamAvatarTreatment | null`,id:`param-team-avatar-treatment`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A flat color accent behind the photo. Panel offsets a solid block behind it; Halo draws a soft concentric disc. Both use the avatar color. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`panel`}),`, `,_jsx(_components.code,{children:`halo`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAvatarColor`,type:`string | null`,id:`param-team-avatar-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the border and the backdrop treatment. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`teamAvatarColorLight`,type:`string | null`,id:`param-team-avatar-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamShowRole`,type:`boolean`,id:`param-team-show-role`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show role / title.`]})}),_jsx(ResponseField,{name:`teamShowBio`,type:`boolean`,id:`param-team-show-bio`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Shown on the Portrait and Profile cards and the List rows. The Overlay and Roster layouts stay bio-free by design.`]})}),_jsx(ResponseField,{name:`teamShowTagline`,type:`boolean`,id:`param-team-show-tagline`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The member’s one-liner, shown on the Profile and Roster cards and the List rows.`]})}),_jsx(ResponseField,{name:`teamHoverPhoto`,type:`boolean`,id:`param-team-hover-photo`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Cross-fades to a member’s alternate photo on hover (set per member; does nothing for members without one, and stays off for visitors who prefer reduced motion).`]})}),_jsx(ResponseField,{name:`teamCardStyle`,type:`TeamCardStyle | null`,id:`param-team-card-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The card treatment. Outline (the default) is a plaque frame — a framed-portrait look; Raised is a quiet lit card; Luxe a frosted glass panel; Ticket/Bracket/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCardStyleRadius`,type:`TeamCardStyleRadius | null`,id:`param-team-card-style-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCardStyleAccentColor`,type:`string | null`,id:`param-team-card-style-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`teamCardStyleAccentColorLight`,type:`string | null`,id:`param-team-card-style-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamCardHover`,type:`TeamCardHover | null`,id:`param-team-card-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a card does on hover. Lift/Pop/Press/Glow/Outline are instant; Sheen sweeps a light across; Tilt, Magnetic and Spotlight follow the cursor (need site animations on). Vary it per section so the page is not cookie-cutter. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCardAlign`,type:`TeamCardAlign | null`,id:`param-team-card-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How the name, role and bio align inside each card (the Profile card and List rows are always left-aligned beside the avatar). One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamAccentColor`,type:`string | null`,id:`param-team-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — the lettered-avatar fallback background and the role color default. Leave empty to use the brand accent. (The icon row has its own colors on the Social links tab.)`]})}),_jsx(ResponseField,{name:`teamAccentColorLight`,type:`string | null`,id:`param-team-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamPanelColor`,type:`string | null`,id:`param-team-panel-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The solid panel over the photo on the Overlay card. Leave empty to use the card color.`]})}),_jsx(ResponseField,{name:`teamPanelColorLight`,type:`string | null`,id:`param-team-panel-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamNameSize`,type:`TeamNameSize | null`,id:`param-team-name-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Name size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamNameWeight`,type:`TeamNameWeight | null`,id:`param-team-name-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Name weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamNameColor`,type:`string | null`,id:`param-team-name-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`teamNameColorLight`,type:`string | null`,id:`param-team-name-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamRoleSize`,type:`TeamRoleSize | null`,id:`param-team-role-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Role size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamRoleWeight`,type:`TeamRoleWeight | null`,id:`param-team-role-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Role weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamRoleColor`,type:`string | null`,id:`param-team-role-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the accent color.`]})}),_jsx(ResponseField,{name:`teamRoleColorLight`,type:`string | null`,id:`param-team-role-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamBioSize`,type:`TeamBioSize | null`,id:`param-team-bio-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Bio size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamBioWeight`,type:`TeamBioWeight | null`,id:`param-team-bio-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Bio weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamBioColor`,type:`string | null`,id:`param-team-bio-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`teamBioColorLight`,type:`string | null`,id:`param-team-bio-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamBioClamp`,type:`TeamBioClamp | null`,id:`param-team-bio-clamp`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Cap each bio at this many lines (the rest is truncated with an ellipsis) so one long bio can’t blow up the card height. The List layout always shows the full bio. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`, `,_jsx(_components.code,{children:`6`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamTaglineColor`,type:`string | null`,id:`param-team-tagline-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the faint text color.`]})}),_jsx(ResponseField,{name:`teamTaglineColorLight`,type:`string | null`,id:`param-team-tagline-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`teamShowSocials`,type:`boolean`,id:`param-team-show-socials`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The member’s social profile icons (set per member in the Team Members manager).`]})}),_jsx(ResponseField,{name:`teamShowContact`,type:`boolean`,id:`param-team-show-contact`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Off by default — turns each member’s email and phone (when set) into icon links. Only enable when you want those details public.`]})}),_jsx(ResponseField,{name:`teamSocialVariant`,type:`TeamSocialVariant | null`,id:`param-team-social-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon style. One of `,_jsx(_components.code,{children:`bare`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`solid`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSocialSize`,type:`TeamSocialSize | null`,id:`param-team-social-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSocialSpacing`,type:`TeamSocialSpacing | null`,id:`param-team-social-spacing`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between the icons. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`loose`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSocialHover`,type:`TeamSocialHover | null`,id:`param-team-social-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover to each platform’s own brand color, or to the site accent (or a chosen hover color). One of `,_jsx(_components.code,{children:`brand`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamSocialColor`,type:`string | null`,id:`param-team-social-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Resting icon color. Leave empty for the muted default.`]})}),_jsx(ResponseField,{name:`teamSocialColorLight`,type:`string | null`,id:`param-team-social-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the muted default.`]})}),_jsx(ResponseField,{name:`teamSocialHoverColor`,type:`string | null`,id:`param-team-social-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Hover color” is Accent / custom. Leave empty for the site accent.`]})}),_jsx(ResponseField,{name:`teamSocialHoverColorLight`,type:`string | null`,id:`param-team-social-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`teamBg`,type:`TeamBg | null`,id:`param-team-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamBgCustom`,type:`string | null`,id:`param-team-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`teamBgLight`,type:`TeamBgLight | null`,id:`param-team-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamBgLightCustom`,type:`string | null`,id:`param-team-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`teamFontOverrides`,type:`readonly TeamWidgetTeamFontOverridesItem[]`,id:`param-team-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`TeamWidgetTeamFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`TeamWidgetTeamFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-55`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly TeamWidgetTeamFontOverridesItemUploadsItem[]`,id:`param-uploads-9`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`TeamWidgetTeamFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`TeamWidgetTeamFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-56`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-51`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-9`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-52`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`teamCtaLabel`,type:`string`,id:`param-team-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`teamCtaUrl`,type:`string`,id:`param-team-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`teamCtaNewTab`,type:`boolean`,id:`param-team-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`teamCtaVariant`,type:`TeamCtaVariant | null`,id:`param-team-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaSize`,type:`TeamCtaSize | null`,id:`param-team-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaRadius`,type:`TeamCtaRadius | null`,id:`param-team-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaColor`,type:`string | null`,id:`param-team-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`teamCtaColorLight`,type:`string | null`,id:`param-team-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`teamCtaTextColor`,type:`string | null`,id:`param-team-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`teamCtaTextColorLight`,type:`string | null`,id:`param-team-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`teamCtaHoverColor`,type:`string | null`,id:`param-team-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`teamCtaHoverColorLight`,type:`string | null`,id:`param-team-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`teamCtaStyle`,type:`TeamCtaStyle | null`,id:`param-team-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaShadowColor`,type:`string | null`,id:`param-team-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`teamCtaShadowColorLight`,type:`string | null`,id:`param-team-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`teamCtaAnimation`,type:`TeamCtaAnimation | null`,id:`param-team-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaIcon`,type:`string`,id:`param-team-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`teamCtaIconFamily`,type:`TeamCtaIconFamily | null`,id:`param-team-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaIconPosition`,type:`TeamCtaIconPosition | null`,id:`param-team-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`teamCtaIconNudge`,type:`boolean`,id:`param-team-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-21`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-53`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`FaqWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`faq`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`FaqWidgetType`,id:`param-type-24`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`faq`}),`. One of `,_jsx(_components.code,{children:`faq`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-57`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-28`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqEyebrow`,type:`string`,id:`param-faq-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`faqEyebrowColor`,type:`string | null`,id:`param-faq-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`faqEyebrowColorLight`,type:`string | null`,id:`param-faq-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`faqEyebrowWeight`,type:`FaqEyebrowWeight | null`,id:`param-faq-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqEyebrowSize`,type:`FaqEyebrowSize | null`,id:`param-faq-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqHeading`,type:`string`,id:`param-faq-heading-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the questions.`]})}),_jsx(ResponseField,{name:`faqHeadingColor`,type:`string | null`,id:`param-faq-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`faqHeadingColorLight`,type:`string | null`,id:`param-faq-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqHeadingWeight`,type:`FaqHeadingWeight | null`,id:`param-faq-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqIntro`,type:`string`,id:`param-faq-intro-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`faqIntroColor`,type:`string | null`,id:`param-faq-intro-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`faqIntroColorLight`,type:`string | null`,id:`param-faq-intro-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqIntroWeight`,type:`FaqIntroWeight | null`,id:`param-faq-intro-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqIntroSize`,type:`FaqIntroSize | null`,id:`param-faq-intro-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAlign`,type:`FaqAlign | null`,id:`param-faq-align-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The Split layout always sets its header column left. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqFeaturedOnly`,type:`boolean`,id:`param-faq-featured-only-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show only questions you have flagged “Featured” in the FAQs manager — e.g. a short top-questions block on the home page, linking out to the full FAQ page.`]})}),_jsx(ResponseField,{name:`faqCount`,type:`number | null`,id:`param-faq-count-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The most questions to show, in the manager’s sort order. Raise it for a full FAQ page. 1 to 50.`]})}),_jsx(ResponseField,{name:`faqCategories`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-faq-categories-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional filter. Leave empty to show questions from every category. Manage the list under FAQ Categories. The related `,_jsx(_components.code,{children:`faq-category`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document; a document the site can’t find is left out.`]})}),_jsx(ResponseField,{name:`faqGroupBy`,type:`FaqGroupBy | null`,id:`param-faq-group-by-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. By category renders a subheading per FAQ category, in the order picked in the category filter (or, with no filter, the FAQ Categories sort order); questions without a category are listed last. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`category`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqLayout`,type:`FaqLayout | null`,id:`param-faq-layout-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Accordion: a single centered column of collapsing questions — the classic FAQ. Split: the header (and button) sit in a left column with the accordion beside them. Two columns: the accordion flows across two columns. Open panels: every answer visible in a card grid — no collapsing. One of `,_jsx(_components.code,{children:`accordion`}),`, `,_jsx(_components.code,{children:`split`}),`, `,_jsx(_components.code,{children:`columns`}),`, `,_jsx(_components.code,{children:`panels`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqPanelColumns`,type:`FaqPanelColumns | null`,id:`param-faq-panel-columns-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How many open panels sit per row (they stack on small screens). One of `,_jsx(_components.code,{children:`1`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqOpenMode`,type:`FaqOpenMode | null`,id:`param-faq-open-mode-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. One at a time closes the previous answer when a new one opens; Independent lets visitors hold several open. One of `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`multiple`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqFirstOpen`,type:`boolean`,id:`param-faq-first-open-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Starts the section with the first answer expanded so the block never reads as an empty list of rows.`]})}),_jsx(ResponseField,{name:`faqMarker`,type:`FaqMarker | null`,id:`param-faq-marker-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The disclosure marker on each question. Plus rotates into a close mark; Chevron flips. One of `,_jsx(_components.code,{children:`plus`}),`, `,_jsx(_components.code,{children:`chevron`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqGap`,type:`FaqGap | null`,id:`param-faq-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Space between questions. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqSchema`,type:`boolean`,id:`param-faq-schema-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds this section’s questions to the page’s schema.org FAQPage markup so search engines can read them (all FAQ sections on a page share one FAQPage block). Costs nothing when on; turn off only to exclude these questions.`]})}),_jsx(ResponseField,{name:`faqCardStyle`,type:`FaqCardStyle | null`,id:`param-faq-card-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The question-row treatment. Plain (the default) is the classic divided list — hairlines between questions. Any other style turns each question into a card: Raised is a quiet lit card, Outline a framed row, Luxe frosted glass; Ticket/Bracket/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardStyleRadius`,type:`FaqCardStyleRadius | null`,id:`param-faq-card-style-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardStyleAccentColor`,type:`string | null`,id:`param-faq-card-style-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`faqCardStyleAccentColorLight`,type:`string | null`,id:`param-faq-card-style-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqCardStyleForgeScope`,type:`FaqCardStyleForgeScope | null`,id:`param-faq-card-style-forge-scope-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardStyleForgeWeight`,type:`FaqCardStyleForgeWeight | null`,id:`param-faq-card-style-forge-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCardHover`,type:`FaqCardHover | null`,id:`param-faq-card-hover-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a question row does on hover. None (the default) keeps the accordion calm — the open/close motion is the interaction. The card effects (Lift/Glow/…) suit the card styles; the cursor-tracked ones need site animations on. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAccentColor`,type:`string | null`,id:`param-faq-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — colors the toggle icon and the open question’s highlight. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`faqAccentColorLight`,type:`string | null`,id:`param-faq-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqQuestionSize`,type:`FaqQuestionSize | null`,id:`param-faq-question-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Question size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqQuestionWeight`,type:`FaqQuestionWeight | null`,id:`param-faq-question-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Question weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqQuestionColor`,type:`string | null`,id:`param-faq-question-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`faqQuestionColorLight`,type:`string | null`,id:`param-faq-question-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqAnswerSize`,type:`FaqAnswerSize | null`,id:`param-faq-answer-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Answer size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAnswerWeight`,type:`FaqAnswerWeight | null`,id:`param-faq-answer-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Answer weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqAnswerColor`,type:`string | null`,id:`param-faq-answer-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`faqAnswerColorLight`,type:`string | null`,id:`param-faq-answer-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqGroupHeadingWeight`,type:`FaqGroupHeadingWeight | null`,id:`param-faq-group-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Category heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqGroupHeadingColor`,type:`string | null`,id:`param-faq-group-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`faqGroupHeadingColorLight`,type:`string | null`,id:`param-faq-group-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`faqBg`,type:`FaqBg | null`,id:`param-faq-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqBgCustom`,type:`string | null`,id:`param-faq-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`faqBgLight`,type:`FaqBgLight | null`,id:`param-faq-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqBgLightCustom`,type:`string | null`,id:`param-faq-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`faqFontOverrides`,type:`readonly FaqWidgetFaqFontOverridesItem[]`,id:`param-faq-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FaqWidgetFaqFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`FaqWidgetFaqFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`faqCtaLabel`,type:`string`,id:`param-faq-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`faqCtaUrl`,type:`string`,id:`param-faq-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`faqCtaNewTab`,type:`boolean`,id:`param-faq-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`faqCtaVariant`,type:`FaqCtaVariant | null`,id:`param-faq-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaSize`,type:`FaqCtaSize | null`,id:`param-faq-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaRadius`,type:`FaqCtaRadius | null`,id:`param-faq-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaColor`,type:`string | null`,id:`param-faq-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`faqCtaColorLight`,type:`string | null`,id:`param-faq-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`faqCtaTextColor`,type:`string | null`,id:`param-faq-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`faqCtaTextColorLight`,type:`string | null`,id:`param-faq-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`faqCtaHoverColor`,type:`string | null`,id:`param-faq-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`faqCtaHoverColorLight`,type:`string | null`,id:`param-faq-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`faqCtaStyle`,type:`FaqCtaStyle | null`,id:`param-faq-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaShadowColor`,type:`string | null`,id:`param-faq-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`faqCtaShadowColorLight`,type:`string | null`,id:`param-faq-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`faqCtaAnimation`,type:`FaqCtaAnimation | null`,id:`param-faq-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaIcon`,type:`string`,id:`param-faq-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`faqCtaIconFamily`,type:`FaqCtaIconFamily | null`,id:`param-faq-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaIconPosition`,type:`FaqCtaIconPosition | null`,id:`param-faq-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`faqCtaIconNudge`,type:`boolean`,id:`param-faq-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-22`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-54`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`ServiceMapWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`service-map`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`ServiceMapWidgetType`,id:`param-type-25`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`service-map`}),`. One of `,_jsx(_components.code,{children:`service-map`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-58`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-29`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapEyebrow`,type:`string`,id:`param-service-map-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`serviceMapEyebrowColor`,type:`string | null`,id:`param-service-map-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`serviceMapEyebrowColorLight`,type:`string | null`,id:`param-service-map-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`serviceMapEyebrowWeight`,type:`ServiceMapEyebrowWeight | null`,id:`param-service-map-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapEyebrowSize`,type:`ServiceMapEyebrowSize | null`,id:`param-service-map-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapHeading`,type:`string`,id:`param-service-map-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Heading.`]})}),_jsx(ResponseField,{name:`serviceMapHeadingColor`,type:`string | null`,id:`param-service-map-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Leave empty for the standard ink color.`]})}),_jsx(ResponseField,{name:`serviceMapHeadingColorLight`,type:`string | null`,id:`param-service-map-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapHeadingWeight`,type:`ServiceMapHeadingWeight | null`,id:`param-service-map-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapIntro`,type:`string`,id:`param-service-map-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short paragraph under the heading. The data source’s own description (service days etc.) shows in the result panel, not here.`]})}),_jsx(ResponseField,{name:`serviceMapIntroSize`,type:`ServiceMapIntroSize | null`,id:`param-service-map-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapHeight`,type:`ServiceMapHeight | null`,id:`param-service-map-height`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Map height. One of `,_jsx(_components.code,{children:`compact`}),`, `,_jsx(_components.code,{children:`standard`}),`, `,_jsx(_components.code,{children:`tall`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapTheme`,type:`ServiceMapTheme | null`,id:`param-service-map-theme`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Curated light/dark basemap pairs — each follows the visitor’s theme toggle. “Site palette” derives the basemap from this site’s own colors. One of `,_jsx(_components.code,{children:`palette`}),`, `,_jsx(_components.code,{children:`classic`}),`, `,_jsx(_components.code,{children:`silver`}),`, `,_jsx(_components.code,{children:`retro`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapFrameRadius`,type:`ServiceMapFrameRadius | null`,id:`param-service-map-frame-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Map corner radius. One of `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapFrameBorderColor`,type:`string | null`,id:`param-service-map-frame-border-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Leave empty for the standard hairline — set it to match a colored border on the zone cards.`]})}),_jsx(ResponseField,{name:`serviceMapFrameBorderColorLight`,type:`string | null`,id:`param-service-map-frame-border-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapFrameGlowColor`,type:`string | null`,id:`param-service-map-frame-glow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional soft glow around the map frame — pairs with a glowing zone-card style. Leave empty for none.`]})}),_jsx(ResponseField,{name:`serviceMapFrameGlowColorLight`,type:`string | null`,id:`param-service-map-frame-glow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapSchema`,type:`boolean`,id:`param-service-map-schema`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. On pages with this section, upgrades the business structured data from the compact site-wide form to the full detail: every public place name, every zip code, and area boundaries. Costs visitors nothing; turn off to keep this page at the compact site-wide form. (Requires structured data on in Site settings → SEO; demo map data is never published.)`]})}),_jsx(ResponseField,{name:`serviceMapShowLegend`,type:`boolean`,id:`param-service-map-show-legend`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The legend card overlaid on the map. The zone cards below the map always carry the same information for screen readers and when the map can’t load.`]})}),_jsx(ResponseField,{name:`serviceMapKeySwatchSize`,type:`ServiceMapKeySwatchSize | null`,id:`param-service-map-key-swatch-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Key swatch size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapKeyJustify`,type:`ServiceMapKeyJustify | null`,id:`param-service-map-key-justify`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Key text justification. One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapKeyTextSize`,type:`ServiceMapKeyTextSize | null`,id:`param-service-map-key-text-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Key text size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapKeyTextWeight`,type:`ServiceMapKeyTextWeight | null`,id:`param-service-map-key-text-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Key text weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapKeyTextColor`,type:`string | null`,id:`param-service-map-key-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Leave empty for the standard ink color.`]})}),_jsx(ResponseField,{name:`serviceMapKeyTextColorLight`,type:`string | null`,id:`param-service-map-key-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapKeyRadius`,type:`ServiceMapKeyRadius | null`,id:`param-service-map-key-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Key corner radius. One of `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapKeyBorderColor`,type:`string | null`,id:`param-service-map-key-border-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Leave empty for the standard hairline — set it to match the map frame or the zone cards.`]})}),_jsx(ResponseField,{name:`serviceMapKeyBorderColorLight`,type:`string | null`,id:`param-service-map-key-border-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapKeyGlowColor`,type:`string | null`,id:`param-service-map-key-glow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional soft glow around the key card. Leave empty for none.`]})}),_jsx(ResponseField,{name:`serviceMapKeyGlowColorLight`,type:`string | null`,id:`param-service-map-key-glow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapShowCards`,type:`boolean`,id:`param-service-map-show-cards`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The zone/pricing cards under the map. Turning this off hides them visually — they stay in the page for screen readers and no-JavaScript visitors (the map itself isn’t accessible).`]})}),_jsx(ResponseField,{name:`serviceMapCardStyle`,type:`ServiceMapCardStyle | null`,id:`param-service-map-card-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The card surface. Raised is a quiet lit card; Luxe is a frosted glass panel; Outline is a double-rule plaque frame; Plain has no chrome; Poster frames the card with an accent keyline; Spine embeds a color rail along the top; Tint washes the card in the accent color. Showstoppers: Ticket punches notches into the sides, Bracket draws only corner marks, Forge is a machined plate with an engraved frame, Press is a punched index card with a margin rule, Inlay recesses the content into a well. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardStyleRadius`,type:`ServiceMapCardStyleRadius | null`,id:`param-service-map-card-style-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardStyleAccentColor`,type:`string | null`,id:`param-service-map-card-style-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`serviceMapCardStyleAccentColorLight`,type:`string | null`,id:`param-service-map-card-style-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapCardsHover`,type:`ServiceMapCardsHover | null`,id:`param-service-map-cards-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a card does on hover. Lift/Pop/Press/Glow/Outline are instant CSS effects; Sheen sweeps a soft light across; Tilt, Magnetic and Spotlight follow the cursor (these need site animations on — visitors who prefer reduced motion see the resting card). Pick a different one per section so a page feels varied, not cookie-cutter. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsSwatchSize`,type:`ServiceMapCardsSwatchSize | null`,id:`param-service-map-cards-swatch-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Card swatch size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsJustify`,type:`ServiceMapCardsJustify | null`,id:`param-service-map-cards-justify`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Card text justification. One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsNameWeight`,type:`ServiceMapCardsNameWeight | null`,id:`param-service-map-cards-name-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Zone name weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsTextSize`,type:`ServiceMapCardsTextSize | null`,id:`param-service-map-cards-text-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Card text size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsTextColor`,type:`string | null`,id:`param-service-map-cards-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Colors the zone names; supporting copy stays muted. Leave empty for the standard ink color.`]})}),_jsx(ResponseField,{name:`serviceMapCardsTextColorLight`,type:`string | null`,id:`param-service-map-cards-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapCardsSubSize`,type:`ServiceMapCardsSubSize | null`,id:`param-service-map-cards-sub-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The price and detail lines under each zone name — sized relative to the card text size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsSubWeight`,type:`ServiceMapCardsSubWeight | null`,id:`param-service-map-cards-sub-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Supporting text weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapCardsSubColor`,type:`string | null`,id:`param-service-map-cards-sub-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Leave empty for the standard muted color.`]})}),_jsx(ResponseField,{name:`serviceMapCardsSubColorLight`,type:`string | null`,id:`param-service-map-cards-sub-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`serviceMapIncludedLabel`,type:`string`,id:`param-service-map-included-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional label shown instead of “`,`$0” wherever a zone has no fee (key, cards, results). Clear it to show the plain price — $`,`0 doesn’t always mean included.`]})}),_jsxs(ResponseField,{name:`serviceMapZoneOverrides`,type:`readonly ServiceMapWidgetServiceMapZoneOverridesItem[]`,id:`param-service-map-zone-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`ServiceMapWidgetServiceMapZoneOverridesItem`}),`. Per-zone display overrides, matched by the zone name the data source provides. Rename a zone, replace its price text, or hide it entirely — the underlying data is never changed.`]}),_jsxs(Expandable,{title:`ServiceMapWidgetServiceMapZoneOverridesItem`,children:[_jsx(ResponseField,{name:`zoneName`,type:`string`,id:`param-zone-name`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Case-insensitive match against the zone name in the map data.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-59`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`displayName`,type:`string`,id:`param-display-name`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional replacement name shown everywhere this zone appears.`]})}),_jsx(ResponseField,{name:`priceLabel`,type:`string`,id:`param-price-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional replacement for the price text (e.g. “Included”, “Call us”). Overrides the zero-price label too.`]})}),_jsx(ResponseField,{name:`hide`,type:`boolean`,id:`param-hide`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The zone stays on the map and in search results — it just leaves the key and cards.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-55`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`serviceMapShowSearch`,type:`boolean`,id:`param-service-map-show-search`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show the “check your area” search.`]})}),_jsx(ResponseField,{name:`serviceMapSearchLabel`,type:`string`,id:`param-service-map-search-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Search label.`]})}),_jsx(ResponseField,{name:`serviceMapSearchPlaceholder`,type:`string`,id:`param-service-map-search-placeholder`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Search placeholder.`]})}),_jsx(ResponseField,{name:`serviceMapSearchJustify`,type:`ServiceMapSearchJustify | null`,id:`param-service-map-search-justify`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Positions the search box and button above the map. One of `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapSearchInputRadius`,type:`ServiceMapSearchInputRadius | null`,id:`param-service-map-search-input-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Same radius scale as the buttons, so the box and button can match. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapAutocomplete`,type:`boolean`,id:`param-service-map-autocomplete`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Google address autocomplete under the search box (needs the Places API enabled on the key — see the setup guide in Connections → Google Maps). ZIP-only typing never triggers suggestions when the data source is zip-based.`]})}),_jsx(ResponseField,{name:`serviceMapOutsideAreaText`,type:`string`,id:`param-service-map-outside-area-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Shown when a searched location doesn’t fall in any zone (or the premium radius).`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonText`,type:`string`,id:`param-service-map-search-button-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Leave empty for “Check”. The button’s look is configured in the Search button tab.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonVariant`,type:`ServiceMapSearchButtonVariant | null`,id:`param-service-map-search-button-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonSize`,type:`ServiceMapSearchButtonSize | null`,id:`param-service-map-search-button-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonRadius`,type:`ServiceMapSearchButtonRadius | null`,id:`param-service-map-search-button-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonColor`,type:`string | null`,id:`param-service-map-search-button-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonColorLight`,type:`string | null`,id:`param-service-map-search-button-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonTextColor`,type:`string | null`,id:`param-service-map-search-button-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonTextColorLight`,type:`string | null`,id:`param-service-map-search-button-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonHoverColor`,type:`string | null`,id:`param-service-map-search-button-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonHoverColorLight`,type:`string | null`,id:`param-service-map-search-button-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonStyle`,type:`ServiceMapSearchButtonStyle | null`,id:`param-service-map-search-button-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonShadowColor`,type:`string | null`,id:`param-service-map-search-button-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonShadowColorLight`,type:`string | null`,id:`param-service-map-search-button-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`serviceMapSearchButtonAnimation`,type:`ServiceMapSearchButtonAnimation | null`,id:`param-service-map-search-button-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapPanelPlacement`,type:`ServiceMapPanelPlacement | null`,id:`param-service-map-panel-placement`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Popup placement. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`corner`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapPanelLook`,type:`ServiceMapPanelLook | null`,id:`param-service-map-panel-look`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Popup style. One of `,_jsx(_components.code,{children:`overlay`}),`, `,_jsx(_components.code,{children:`solid`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapPanelShowQuery`,type:`boolean`,id:`param-service-map-panel-show-query`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Repeats the searched ZIP code or address at the top of the result popup.`]})}),_jsx(ResponseField,{name:`serviceMapPanelShowCity`,type:`boolean`,id:`param-service-map-panel-show-city`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Looks up the locality for a searched ZIP code (one extra Geocoding API call per search) and shows it beside the searched value.`]})}),_jsx(ResponseField,{name:`serviceMapPanelTextSize`,type:`ServiceMapPanelTextSize | null`,id:`param-service-map-panel-text-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Popup text size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapPanelTitleWeight`,type:`ServiceMapPanelTitleWeight | null`,id:`param-service-map-panel-title-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Popup title weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapShowPremium`,type:`boolean`,id:`param-service-map-show-premium`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. When the data carries a premium (distance-priced) service, include it in search results and the zone cards. Sources without their own premium block use the pricing set in Service area map → Areas and pricing.`]})}),_jsx(ResponseField,{name:`serviceMapShowPremiumRing`,type:`boolean`,id:`param-service-map-show-premium-ring`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Needs a premium range limit (miles) — with no limit there is no ring to draw.`]})}),_jsx(ResponseField,{name:`serviceMapPremiumEstimateNote`,type:`string`,id:`param-service-map-premium-estimate-note`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Premium estimate note.`]})}),_jsx(ResponseField,{name:`serviceMapPremiumUnavailableText`,type:`string`,id:`param-service-map-premium-unavailable-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Shown when a distance estimate isn’t possible (e.g. the Distance Matrix API isn’t enabled on the key).`]})}),_jsx(ResponseField,{name:`serviceMapMarkerImage`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-service-map-marker-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional logo/pin image for the business marker. Leave empty for a simple accent-color pin. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`serviceMapMarkerImageLight`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-service-map-marker-image-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional light-theme variant. Falls back to the dark-theme image. The related `,_jsx(_components.code,{children:`@apostrophecms/image`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`serviceMapMarkerLabel`,type:`string`,id:`param-service-map-marker-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Accessible name + hover title for the marker. Leave empty to use the business name from Site settings.`]})}),_jsx(ResponseField,{name:`serviceMapMarkerSize`,type:`ServiceMapMarkerSize | null`,id:`param-service-map-marker-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Marker size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapMarkerBounce`,type:`boolean`,id:`param-service-map-marker-bounce`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The business marker gently bobs in place. Automatically disabled for visitors who prefer reduced motion.`]})}),_jsx(ResponseField,{name:`serviceMapShowLocation`,type:`boolean`,id:`param-service-map-show-location`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Adds the business location (named by its label in Service area map → Your location) as the FIRST entry of the map key and zone cards.`]})}),_jsx(ResponseField,{name:`serviceMapBg`,type:`ServiceMapBg | null`,id:`param-service-map-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapBgCustom`,type:`string | null`,id:`param-service-map-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`serviceMapBgLight`,type:`ServiceMapBgLight | null`,id:`param-service-map-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`serviceMapBgLightCustom`,type:`string | null`,id:`param-service-map-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`serviceMapFontOverrides`,type:`readonly ServiceMapWidgetServiceMapFontOverridesItem[]`,id:`param-service-map-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`ServiceMapWidgetServiceMapFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`ServiceMapWidgetServiceMapFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-60`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly ServiceMapWidgetServiceMapFontOverridesItemUploadsItem[]`,id:`param-uploads-10`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`ServiceMapWidgetServiceMapFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`ServiceMapWidgetServiceMapFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-61`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-56`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-10`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-57`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-23`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-58`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`BlogPreviewWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`blog-preview`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`BlogPreviewWidgetType`,id:`param-type-26`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`blog-preview`}),`. One of `,_jsx(_components.code,{children:`blog-preview`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-62`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-30`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogHeading`,type:`string`,id:`param-blog-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Heading.`]})}),_jsx(ResponseField,{name:`blogSubheading`,type:`string`,id:`param-blog-subheading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Subheading.`]})}),_jsx(ResponseField,{name:`blogCardImageAspect`,type:`BlogCardImageAspect | null`,id:`param-blog-card-image-aspect`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aspect ratio of the featured image. Choose “Hidden” for text-only cards. One of `,_jsx(_components.code,{children:`16/10`}),`, `,_jsx(_components.code,{children:`4/3`}),`, `,_jsx(_components.code,{children:`3/2`}),`, `,_jsx(_components.code,{children:`1/1`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardImageHover`,type:`BlogCardImageHover | null`,id:`param-blog-card-image-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Image hover. One of `,_jsx(_components.code,{children:`zoom`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardImageFill`,type:`boolean`,id:`param-blog-card-image-fill`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Use the featured image as the full card background, with the title and meta overlaid on a dark scrim. Posts with no image fall back to a normal card.`]})}),_jsx(ResponseField,{name:`blogCardPreset`,type:`BlogCardPreset | null`,id:`param-blog-card-preset`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The card surface. Raised is a quiet lit card; Luxe a frosted glass panel; Outline a plaque frame; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. (On image-led cards the photo covers the top edge.) One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardPresetRadius`,type:`BlogCardPresetRadius | null`,id:`param-blog-card-preset-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardPresetAccentColor`,type:`string | null`,id:`param-blog-card-preset-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`blogCardPresetAccentColorLight`,type:`string | null`,id:`param-blog-card-preset-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`blogCardPresetForgeScope`,type:`BlogCardPresetForgeScope | null`,id:`param-blog-card-preset-forge-scope`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardPresetForgeWeight`,type:`BlogCardPresetForgeWeight | null`,id:`param-blog-card-preset-forge-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardHover`,type:`BlogCardHover | null`,id:`param-blog-card-hover`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. What a card does on hover. Lift/Pop/Press/Glow/Outline are instant; Sheen sweeps a light across; Tilt (3-D + glare), Magnetic and Spotlight follow the cursor (need site animations on). The Hover color below tints these. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`pop`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`border`}),`, `,_jsx(_components.code,{children:`sheen`}),`, `,_jsx(_components.code,{children:`tilt`}),`, `,_jsx(_components.code,{children:`magnetic`}),`, `,_jsx(_components.code,{children:`spotlight`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardHoverColor`,type:`string | null`,id:`param-blog-card-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / shadow / glow color on hover. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`blogCardHoverColorLight`,type:`string | null`,id:`param-blog-card-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`blogCardShowCategory`,type:`boolean`,id:`param-blog-card-show-category`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show category.`]})}),_jsx(ResponseField,{name:`blogCardCategoryStyle`,type:`BlogCardCategoryStyle | null`,id:`param-blog-card-category-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How the category badge uses its color (set per category under Blog Categories). Filled = colored background; Outline = colored border + text; Minimal = colored text only. One of `,_jsx(_components.code,{children:`filled`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`minimal`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardShowDate`,type:`boolean`,id:`param-blog-card-show-date`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show date.`]})}),_jsx(ResponseField,{name:`blogCardShowExcerpt`,type:`boolean`,id:`param-blog-card-show-excerpt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show excerpt.`]})}),_jsx(ResponseField,{name:`blogCardExcerptLines`,type:`BlogCardExcerptLines | null`,id:`param-blog-card-excerpt-lines`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How many lines of the excerpt to show before truncating. One of `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardShowAuthor`,type:`boolean`,id:`param-blog-card-show-author`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show author.`]})}),_jsx(ResponseField,{name:`blogCardShowReadMore`,type:`boolean`,id:`param-blog-card-show-read-more`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show “Read post” link.`]})}),_jsx(ResponseField,{name:`blogCardReadMorePlacement`,type:`BlogCardReadMorePlacement | null`,id:`param-blog-card-read-more-placement`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto puts it on the right of horizontal cards (list / compact / featured) and below the text on grid cards. Or force one placement everywhere. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`below`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardReadMoreColor`,type:`string | null`,id:`param-blog-card-read-more-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the “Read post” link color. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`blogCardReadMoreColorLight`,type:`string | null`,id:`param-blog-card-read-more-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`blogCardReadMoreHoverColor`,type:`string | null`,id:`param-blog-card-read-more-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Color of the “Read post” link when the card is hovered. Leave empty to use the accent color.`]})}),_jsx(ResponseField,{name:`blogCardReadMoreHoverColorLight`,type:`string | null`,id:`param-blog-card-read-more-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color, then the accent.`]})}),_jsx(ResponseField,{name:`blogCardTitleColor`,type:`string | null`,id:`param-blog-card-title-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the card title color. Leave empty to track the theme’s text color.`]})}),_jsx(ResponseField,{name:`blogCardTitleColorLight`,type:`string | null`,id:`param-blog-card-title-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the theme default.`]})}),_jsx(ResponseField,{name:`blogCardTitleWeight`,type:`BlogCardTitleWeight | null`,id:`param-blog-card-title-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Title weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardTitleHoverColor`,type:`string | null`,id:`param-blog-card-title-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Title color when the card is hovered. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`blogCardTitleHoverColorLight`,type:`string | null`,id:`param-blog-card-title-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color, then the accent.`]})}),_jsx(ResponseField,{name:`blogCardTextColor`,type:`string | null`,id:`param-blog-card-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the excerpt text color. Leave empty for the muted default.`]})}),_jsx(ResponseField,{name:`blogCardTextColorLight`,type:`string | null`,id:`param-blog-card-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the muted default.`]})}),_jsx(ResponseField,{name:`blogCardTextWeight`,type:`BlogCardTextWeight | null`,id:`param-blog-card-text-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Excerpt weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCardMetaColor`,type:`string | null`,id:`param-blog-card-meta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Date / meta line color. Leave empty for the faint default.`]})}),_jsx(ResponseField,{name:`blogCardMetaColorLight`,type:`string | null`,id:`param-blog-card-meta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the faint default.`]})}),_jsx(ResponseField,{name:`blogBg`,type:`BlogBg | null`,id:`param-blog-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogBgCustom`,type:`string | null`,id:`param-blog-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`blogBgLight`,type:`BlogBgLight | null`,id:`param-blog-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogBgLightCustom`,type:`string | null`,id:`param-blog-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`blogFontOverrides`,type:`readonly BlogPreviewWidgetBlogFontOverridesItem[]`,id:`param-blog-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`BlogPreviewWidgetBlogFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`BlogPreviewWidgetBlogFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-63`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly BlogPreviewWidgetBlogFontOverridesItemUploadsItem[]`,id:`param-uploads-11`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`BlogPreviewWidgetBlogFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`BlogPreviewWidgetBlogFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-64`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-59`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-11`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-60`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`blogCtaLabel`,type:`string`,id:`param-blog-cta-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`blogCtaUrl`,type:`string`,id:`param-blog-cta-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`blogCtaNewTab`,type:`boolean`,id:`param-blog-cta-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`blogCtaVariant`,type:`BlogCtaVariant | null`,id:`param-blog-cta-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaSize`,type:`BlogCtaSize | null`,id:`param-blog-cta-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaRadius`,type:`BlogCtaRadius | null`,id:`param-blog-cta-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaColor`,type:`string | null`,id:`param-blog-cta-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`blogCtaColorLight`,type:`string | null`,id:`param-blog-cta-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`blogCtaTextColor`,type:`string | null`,id:`param-blog-cta-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`blogCtaTextColorLight`,type:`string | null`,id:`param-blog-cta-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`blogCtaHoverColor`,type:`string | null`,id:`param-blog-cta-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`blogCtaHoverColorLight`,type:`string | null`,id:`param-blog-cta-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`blogCtaStyle`,type:`BlogCtaStyle | null`,id:`param-blog-cta-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaShadowColor`,type:`string | null`,id:`param-blog-cta-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`blogCtaShadowColorLight`,type:`string | null`,id:`param-blog-cta-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`blogCtaAnimation`,type:`BlogCtaAnimation | null`,id:`param-blog-cta-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaIcon`,type:`string`,id:`param-blog-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`blogCtaIconFamily`,type:`BlogCtaIconFamily | null`,id:`param-blog-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaIconPosition`,type:`BlogCtaIconPosition | null`,id:`param-blog-cta-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`blogCtaIconNudge`,type:`boolean`,id:`param-blog-cta-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-24`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-61`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`CookieDeclarationWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`cookie-declaration`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`CookieDeclarationWidgetType`,id:`param-type-27`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`cookie-declaration`}),`. One of `,_jsx(_components.code,{children:`cookie-declaration`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-65`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-31`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cookieDeclEyebrow`,type:`string`,id:`param-cookie-decl-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`cookieDeclHeading`,type:`string`,id:`param-cookie-decl-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Heading.`]})}),_jsx(ResponseField,{name:`cookieDeclIntro`,type:`string`,id:`param-cookie-decl-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Introduction.`]})}),_jsx(ResponseField,{name:`cookieDeclShowStatus`,type:`boolean`,id:`param-cookie-decl-show-status`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A short block naming what this visitor has allowed, with a button that reopens the preferences panel. Withdrawal has to be as easy as consent, so leave this on unless the page offers another way.`]})}),_jsx(ResponseField,{name:`cookieDeclShowTable`,type:`boolean`,id:`param-cookie-decl-show-table`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Provider, type, duration and domain per entry. Off leaves the plain-language disclosures alone, which reads better but tells a technical reader less.`]})}),_jsx(ResponseField,{name:`cookieDeclLayout`,type:`CookieDeclLayout | null`,id:`param-cookie-decl-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Layout. One of `,_jsx(_components.code,{children:`stacked`}),`, `,_jsx(_components.code,{children:`compact`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cookieDeclBg`,type:`CookieDeclBg | null`,id:`param-cookie-decl-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cookieDeclBgCustom`,type:`string | null`,id:`param-cookie-decl-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`cookieDeclBgLight`,type:`CookieDeclBgLight | null`,id:`param-cookie-decl-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cookieDeclBgLightCustom`,type:`string | null`,id:`param-cookie-decl-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`cookieDeclFontOverrides`,type:`readonly CookieDeclarationWidgetCookieDeclFontOverridesItem[]`,id:`param-cookie-decl-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`CookieDeclarationWidgetCookieDeclFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`CookieDeclarationWidgetCookieDeclFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-66`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly CookieDeclarationWidgetCookieDeclFontOverridesItemUploadsItem[]`,id:`param-uploads-12`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`CookieDeclarationWidgetCookieDeclFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`CookieDeclarationWidgetCookieDeclFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-67`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-62`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-12`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-63`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-25`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-64`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`RichTextWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`RichTextWidgetType`,id:`param-type-28`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`. One of `,_jsx(_components.code,{children:`@apostrophecms/rich-text`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-68`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-32`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`content`,type:`string`,id:`param-content-2`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The text as HTML, e.g. `,_jsx(_components.code,{children:`\u003ch2>Our story\u003c/h2>\u003cp>It began with \u003cstrong>one\u003c/strong> idea.\u003c/p>`}),`. The site keeps the tags and styles this area’s editor offers (paragraphs, headings, bold, italic, links, lists…) and removes the rest.`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-26`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-65`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`PricingWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`pricing`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`PricingWidgetType`,id:`param-type-29`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`pricing`}),`. One of `,_jsx(_components.code,{children:`pricing`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-69`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-33`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingEyebrowEnabled`,type:`boolean`,id:`param-pricing-eyebrow-enabled-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small label above the heading (e.g. “Pricing”).`]})}),_jsx(ResponseField,{name:`pricingEyebrow`,type:`string`,id:`param-pricing-eyebrow-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Eyebrow.`]})}),_jsx(ResponseField,{name:`pricingEyebrowColor`,type:`string | null`,id:`param-pricing-eyebrow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`pricingEyebrowColorLight`,type:`string | null`,id:`param-pricing-eyebrow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingEyebrowWeight`,type:`PricingEyebrowWeight | null`,id:`param-pricing-eyebrow-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingEyebrowSize`,type:`PricingEyebrowSize | null`,id:`param-pricing-eyebrow-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHeading`,type:`string`,id:`param-pricing-heading-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional. Leave empty to show just the cards.`]})}),_jsx(ResponseField,{name:`pricingHeadingColor`,type:`string | null`,id:`param-pricing-heading-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`pricingHeadingColorLight`,type:`string | null`,id:`param-pricing-heading-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingHeadingWeight`,type:`PricingHeadingWeight | null`,id:`param-pricing-heading-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHeadingSize`,type:`PricingHeadingSize | null`,id:`param-pricing-heading-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Heading size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingIntro`,type:`string`,id:`param-pricing-intro-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`pricingIntroColor`,type:`string | null`,id:`param-pricing-intro-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`pricingIntroColorLight`,type:`string | null`,id:`param-pricing-intro-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingIntroWeight`,type:`PricingIntroWeight | null`,id:`param-pricing-intro-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingIntroSize`,type:`PricingIntroSize | null`,id:`param-pricing-intro-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Intro size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingColumns`,type:`PricingColumns | null`,id:`param-pricing-columns-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Auto fits as many as comfortably fit and works for any number of cards. Or lock a maximum per row. One of `,_jsx(_components.code,{children:`auto`}),`, `,_jsx(_components.code,{children:`2`}),`, `,_jsx(_components.code,{children:`3`}),`, `,_jsx(_components.code,{children:`4`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingGap`,type:`PricingGap | null`,id:`param-pricing-gap-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Gap between cards. One of `,_jsx(_components.code,{children:`tight`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyle`,type:`PricingCardStyle | null`,id:`param-pricing-card-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The base treatment for every tier (a highlighted tier always gets its own bold framed look). Raised is a quiet lit card; Luxe a frosted glass panel; Outline a plaque frame; Spine adds a color rail; Tint an accent wash; Ticket/Bracket/Forge/Press/Inlay are the graphic showstoppers. One of `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`luxe`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`poster`}),`, `,_jsx(_components.code,{children:`edge`}),`, `,_jsx(_components.code,{children:`tint`}),`, `,_jsx(_components.code,{children:`ticket`}),`, `,_jsx(_components.code,{children:`bracket`}),`, `,_jsx(_components.code,{children:`forge`}),`, `,_jsx(_components.code,{children:`press`}),`, `,_jsx(_components.code,{children:`inlay`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyleRadius`,type:`PricingCardStyleRadius | null`,id:`param-pricing-card-style-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner rounding for each card. Default keeps the widget’s own tuned corners — except Forge, which defaults to tight machined corners matching its engraved frame. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`square`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyleAccentColor`,type:`string | null`,id:`param-pricing-card-style-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Colors the Spine rail, Bracket marks, Forge corner/frame and Press margin rule. Leave empty to use the brand accent.`]})}),_jsx(ResponseField,{name:`pricingCardStyleAccentColorLight`,type:`string | null`,id:`param-pricing-card-style-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`pricingCardStyleForgeScope`,type:`PricingCardStyleForgeScope | null`,id:`param-pricing-card-style-forge-scope-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the Forge plate wears its color: a single corner mark (the machinist’s datum, default) or the whole engraved frame. One of `,_jsx(_components.code,{children:`corner`}),`, `,_jsx(_components.code,{children:`frame`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCardStyleForgeWeight`,type:`PricingCardStyleForgeWeight | null`,id:`param-pricing-card-style-forge-weight-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Thickness of the Forge corner mark / colored frame. One of `,_jsx(_components.code,{children:`fine`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingAlign`,type:`PricingAlign | null`,id:`param-pricing-align-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Aligns the section header and the text inside each card. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingEqualHeight`,type:`boolean`,id:`param-pricing-equal-height-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Stretch every card to the tallest one and pin each button to the bottom, so the cards line up even with uneven feature lists.`]})}),_jsx(ResponseField,{name:`pricingFeatureMarkers`,type:`boolean`,id:`param-pricing-feature-markers-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A check (included) or cross (not included) before each feature. Off = a plain list.`]})}),_jsx(ResponseField,{name:`pricingCardHover`,type:`PricingCardHover | null`,id:`param-pricing-card-hover-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How a card reacts to the pointer. Rise floats it up on an accent underglow; Selection ring previews the highlighted look + tints the price; Spotlight washes accent light over the price; Checklist lights up the ✓ marks one-by-one; Tilt is a 3-D parallax that only runs when site animations are on. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`rise`}),`, `,_jsx(_components.code,{children:`ring`}),`, `,_jsx(_components.code,{children:`spotlight`}),`, `,_jsx(_components.code,{children:`checklist`}),`, `,_jsx(_components.code,{children:`tilt`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHoverColor`,type:`string | null`,id:`param-pricing-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Border / glow / spotlight / checkmark color on hover. Leave empty to use the highlight accent (then the site accent).`]})}),_jsx(ResponseField,{name:`pricingHoverColorLight`,type:`string | null`,id:`param-pricing-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover accent.`]})}),_jsx(ResponseField,{name:`pricingEntrance`,type:`PricingEntrance | null`,id:`param-pricing-entrance-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. How the cards animate in as they scroll into view. Featured-led makes the highlighted tier settle last with a little emphasis (draws the eye to the recommended plan); Simple stagger fades them in evenly. Only plays when site animations are on (Site design → Motion) — otherwise the cards are simply shown. One of `,_jsx(_components.code,{children:`featured`}),`, `,_jsx(_components.code,{children:`stagger`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingNameSize`,type:`PricingNameSize | null`,id:`param-pricing-name-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of each card’s name / title. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingPriceSize`,type:`PricingPriceSize | null`,id:`param-pricing-price-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of the price amount (the period and price note scale with it). One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingDescSize`,type:`PricingDescSize | null`,id:`param-pricing-desc-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of each card’s description blurb. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeatureSize`,type:`PricingFeatureSize | null`,id:`param-pricing-feature-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size of the feature list text (notes and check marks scale with it). One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingHighlightBadge`,type:`string`,id:`param-pricing-highlight-badge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Ribbon text shown on a highlighted tier that doesn’t set its own badge. Each tier can override it (or badge a non-highlighted tier) below. Leave empty for no automatic badge.`]})}),_jsx(ResponseField,{name:`pricingAccentColor`,type:`string | null`,id:`param-pricing-accent-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Color for the highlighted tier’s border + ring and each tier’s badge. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`pricingAccentColorLight`,type:`string | null`,id:`param-pricing-accent-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme accent.`]})}),_jsx(ResponseField,{name:`pricingTiers`,type:`readonly PricingWidgetPricingTiersItem[]`,id:`param-pricing-tiers-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`PricingWidgetPricingTiersItem`}),`. Each card is one tier / package / service. Toggle “Highlight” on the one you want to stand out. Its fields are listed under the first `,_jsx(_components.code,{children:`PricingWidgetPricingTiersItem`}),` above.`]})}),_jsx(ResponseField,{name:`pricingBg`,type:`PricingBg | null`,id:`param-pricing-bg-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingBgCustom`,type:`string | null`,id:`param-pricing-bg-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`pricingBgLight`,type:`PricingBgLight | null`,id:`param-pricing-bg-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingBgLightCustom`,type:`string | null`,id:`param-pricing-bg-light-custom-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`pricingFontOverrides`,type:`readonly PricingWidgetPricingFontOverridesItem[]`,id:`param-pricing-font-overrides-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`PricingWidgetPricingFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items. Its fields are listed under the first `,_jsx(_components.code,{children:`PricingWidgetPricingFontOverridesItem`}),` above.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaLabel`,type:`string`,id:`param-pricing-featured-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaUrl`,type:`string`,id:`param-pricing-featured-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaNewTab`,type:`boolean`,id:`param-pricing-featured-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaVariant`,type:`PricingFeaturedCtaVariant | null`,id:`param-pricing-featured-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaSize`,type:`PricingFeaturedCtaSize | null`,id:`param-pricing-featured-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaRadius`,type:`PricingFeaturedCtaRadius | null`,id:`param-pricing-featured-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaColor`,type:`string | null`,id:`param-pricing-featured-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaColorLight`,type:`string | null`,id:`param-pricing-featured-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaTextColor`,type:`string | null`,id:`param-pricing-featured-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaTextColorLight`,type:`string | null`,id:`param-pricing-featured-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaHoverColor`,type:`string | null`,id:`param-pricing-featured-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaHoverColorLight`,type:`string | null`,id:`param-pricing-featured-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaStyle`,type:`PricingFeaturedCtaStyle | null`,id:`param-pricing-featured-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaShadowColor`,type:`string | null`,id:`param-pricing-featured-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaShadowColorLight`,type:`string | null`,id:`param-pricing-featured-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaAnimation`,type:`PricingFeaturedCtaAnimation | null`,id:`param-pricing-featured-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIcon`,type:`string`,id:`param-pricing-featured-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIconFamily`,type:`PricingFeaturedCtaIconFamily | null`,id:`param-pricing-featured-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIconPosition`,type:`PricingFeaturedCtaIconPosition | null`,id:`param-pricing-featured-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingFeaturedCtaIconNudge`,type:`boolean`,id:`param-pricing-featured-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`pricingCtaLabel`,type:`string`,id:`param-pricing-cta-label-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`pricingCtaUrl`,type:`string`,id:`param-pricing-cta-url-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`pricingCtaNewTab`,type:`boolean`,id:`param-pricing-cta-new-tab-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`pricingCtaVariant`,type:`PricingCtaVariant | null`,id:`param-pricing-cta-variant-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaSize`,type:`PricingCtaSize | null`,id:`param-pricing-cta-size-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaRadius`,type:`PricingCtaRadius | null`,id:`param-pricing-cta-radius-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaColor`,type:`string | null`,id:`param-pricing-cta-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`pricingCtaColorLight`,type:`string | null`,id:`param-pricing-cta-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`pricingCtaTextColor`,type:`string | null`,id:`param-pricing-cta-text-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`pricingCtaTextColorLight`,type:`string | null`,id:`param-pricing-cta-text-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`pricingCtaHoverColor`,type:`string | null`,id:`param-pricing-cta-hover-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`pricingCtaHoverColorLight`,type:`string | null`,id:`param-pricing-cta-hover-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`pricingCtaStyle`,type:`PricingCtaStyle | null`,id:`param-pricing-cta-style-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaShadowColor`,type:`string | null`,id:`param-pricing-cta-shadow-color-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`pricingCtaShadowColorLight`,type:`string | null`,id:`param-pricing-cta-shadow-color-light-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`pricingCtaAnimation`,type:`PricingCtaAnimation | null`,id:`param-pricing-cta-animation-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaIcon`,type:`string`,id:`param-pricing-cta-icon-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`pricingCtaIconFamily`,type:`PricingCtaIconFamily | null`,id:`param-pricing-cta-icon-family-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaIconPosition`,type:`PricingCtaIconPosition | null`,id:`param-pricing-cta-icon-position-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`pricingCtaIconNudge`,type:`boolean`,id:`param-pricing-cta-icon-nudge-1`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-27`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-66`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`NewsletterWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`newsletter`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`NewsletterWidgetType`,id:`param-type-30`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`newsletter`}),`. One of `,_jsx(_components.code,{children:`newsletter`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-70`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-34`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterForm`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-newsletter-form`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The Form (Forms manager) that receives these submissions and routes them — configure its destinations on the form’s Actions tab. Create one if you have not yet. The related `,_jsx(_components.code,{children:`@apostrophecms/form`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`newsletterEyebrowEnabled`,type:`boolean`,id:`param-newsletter-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show eyebrow.`]})}),_jsx(ResponseField,{name:`newsletterEyebrow`,type:`string`,id:`param-newsletter-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`newsletterEyebrowColor`,type:`string | null`,id:`param-newsletter-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`newsletterEyebrowColorLight`,type:`string | null`,id:`param-newsletter-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`newsletterEyebrowWeight`,type:`NewsletterEyebrowWeight | null`,id:`param-newsletter-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterEyebrowSize`,type:`NewsletterEyebrowSize | null`,id:`param-newsletter-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterHeading`,type:`string`,id:`param-newsletter-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Heading.`]})}),_jsx(ResponseField,{name:`newsletterHeadingColor`,type:`string | null`,id:`param-newsletter-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`newsletterHeadingColorLight`,type:`string | null`,id:`param-newsletter-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`newsletterHeadingWeight`,type:`NewsletterHeadingWeight | null`,id:`param-newsletter-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterHeadingSize`,type:`NewsletterHeadingSize | null`,id:`param-newsletter-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterIntro`,type:`string`,id:`param-newsletter-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`newsletterIntroColor`,type:`string | null`,id:`param-newsletter-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`newsletterIntroColorLight`,type:`string | null`,id:`param-newsletter-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`newsletterIntroWeight`,type:`NewsletterIntroWeight | null`,id:`param-newsletter-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterIntroSize`,type:`NewsletterIntroSize | null`,id:`param-newsletter-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterBand`,type:`NewsletterBand | null`,id:`param-newsletter-band`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Plain sits on the page; Raised is a contained card; Accent is a solid brand-color band. One of `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterAccentColor`,type:`string | null`,id:`param-newsletter-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The accent band color. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`newsletterAccentColorLight`,type:`string | null`,id:`param-newsletter-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`newsletterAlign`,type:`NewsletterAlign | null`,id:`param-newsletter-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Alignment. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterLayout`,type:`NewsletterLayout | null`,id:`param-newsletter-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Inline puts the field + button on one row (stacks on small screens); Stacked always stacks them. One of `,_jsx(_components.code,{children:`inline`}),`, `,_jsx(_components.code,{children:`stacked`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterWidth`,type:`NewsletterWidth | null`,id:`param-newsletter-width`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Content width. One of `,_jsx(_components.code,{children:`narrow`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`wide`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterNameEnabled`,type:`boolean`,id:`param-newsletter-name-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Collect a name.`]})}),_jsx(ResponseField,{name:`newsletterNameLabel`,type:`string`,id:`param-newsletter-name-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Name label.`]})}),_jsx(ResponseField,{name:`newsletterNamePlaceholder`,type:`string`,id:`param-newsletter-name-placeholder`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Name placeholder.`]})}),_jsx(ResponseField,{name:`newsletterEmailLabel`,type:`string`,id:`param-newsletter-email-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Email label.`]})}),_jsx(ResponseField,{name:`newsletterEmailPlaceholder`,type:`string`,id:`param-newsletter-email-placeholder`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Email placeholder.`]})}),_jsx(ResponseField,{name:`newsletterConsentEnabled`,type:`boolean`,id:`param-newsletter-consent-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional opt-in checkbox (e.g. for GDPR-style explicit consent).`]})}),_jsx(ResponseField,{name:`newsletterConsentText`,type:`string`,id:`param-newsletter-consent-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Consent statement.`]})}),_jsx(ResponseField,{name:`newsletterDisclaimer`,type:`string`,id:`param-newsletter-disclaimer`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A small line under the form, e.g. an unsubscribe note.`]})}),_jsx(ResponseField,{name:`newsletterSuccessMessage`,type:`string`,id:`param-newsletter-success-message`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Success message.`]})}),_jsx(ResponseField,{name:`newsletterErrorMessage`,type:`string`,id:`param-newsletter-error-message`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Error message.`]})}),_jsx(ResponseField,{name:`newsletterBg`,type:`NewsletterBg | null`,id:`param-newsletter-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterBgCustom`,type:`string | null`,id:`param-newsletter-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`newsletterBgLight`,type:`NewsletterBgLight | null`,id:`param-newsletter-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterBgLightCustom`,type:`string | null`,id:`param-newsletter-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`newsletterFontOverrides`,type:`readonly NewsletterWidgetNewsletterFontOverridesItem[]`,id:`param-newsletter-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`NewsletterWidgetNewsletterFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`NewsletterWidgetNewsletterFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-71`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly NewsletterWidgetNewsletterFontOverridesItemUploadsItem[]`,id:`param-uploads-13`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`NewsletterWidgetNewsletterFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`NewsletterWidgetNewsletterFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-72`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-67`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-13`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-68`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`newsletterSubmitLabel`,type:`string`,id:`param-newsletter-submit-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`newsletterSubmitVariant`,type:`NewsletterSubmitVariant | null`,id:`param-newsletter-submit-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitSize`,type:`NewsletterSubmitSize | null`,id:`param-newsletter-submit-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitRadius`,type:`NewsletterSubmitRadius | null`,id:`param-newsletter-submit-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitColor`,type:`string | null`,id:`param-newsletter-submit-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`newsletterSubmitColorLight`,type:`string | null`,id:`param-newsletter-submit-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`newsletterSubmitTextColor`,type:`string | null`,id:`param-newsletter-submit-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`newsletterSubmitTextColorLight`,type:`string | null`,id:`param-newsletter-submit-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`newsletterSubmitHoverColor`,type:`string | null`,id:`param-newsletter-submit-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`newsletterSubmitHoverColorLight`,type:`string | null`,id:`param-newsletter-submit-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`newsletterSubmitStyle`,type:`NewsletterSubmitStyle | null`,id:`param-newsletter-submit-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitShadowColor`,type:`string | null`,id:`param-newsletter-submit-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`newsletterSubmitShadowColorLight`,type:`string | null`,id:`param-newsletter-submit-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`newsletterSubmitAnimation`,type:`NewsletterSubmitAnimation | null`,id:`param-newsletter-submit-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitIcon`,type:`string`,id:`param-newsletter-submit-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`newsletterSubmitIconFamily`,type:`NewsletterSubmitIconFamily | null`,id:`param-newsletter-submit-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitIconPosition`,type:`NewsletterSubmitIconPosition | null`,id:`param-newsletter-submit-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`newsletterSubmitIconNudge`,type:`boolean`,id:`param-newsletter-submit-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-28`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-69`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`SmsSignupWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`sms-signup`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`SmsSignupWidgetType`,id:`param-type-31`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`sms-signup`}),`. One of `,_jsx(_components.code,{children:`sms-signup`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupConsentText`,type:`string`,id:`param-sms-signup-consent-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` Shown beside a required checkbox; the form shows only once this is filled in. Be specific about what they are agreeing to. The brand name is added automatically from Site settings.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-73`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-35`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupForm`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-sms-signup-form`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The Form (Forms manager) that receives these SMS opt-ins and routes them — configure its destinations on the form’s Actions tab. The related `,_jsx(_components.code,{children:`@apostrophecms/form`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`smsSignupEyebrowEnabled`,type:`boolean`,id:`param-sms-signup-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show eyebrow.`]})}),_jsx(ResponseField,{name:`smsSignupEyebrow`,type:`string`,id:`param-sms-signup-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`smsSignupEyebrowColor`,type:`string | null`,id:`param-sms-signup-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`smsSignupEyebrowColorLight`,type:`string | null`,id:`param-sms-signup-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`smsSignupEyebrowWeight`,type:`SmsSignupEyebrowWeight | null`,id:`param-sms-signup-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupEyebrowSize`,type:`SmsSignupEyebrowSize | null`,id:`param-sms-signup-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupHeading`,type:`string`,id:`param-sms-signup-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Heading.`]})}),_jsx(ResponseField,{name:`smsSignupHeadingColor`,type:`string | null`,id:`param-sms-signup-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`smsSignupHeadingColorLight`,type:`string | null`,id:`param-sms-signup-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`smsSignupHeadingWeight`,type:`SmsSignupHeadingWeight | null`,id:`param-sms-signup-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupHeadingSize`,type:`SmsSignupHeadingSize | null`,id:`param-sms-signup-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupIntro`,type:`string`,id:`param-sms-signup-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`smsSignupIntroColor`,type:`string | null`,id:`param-sms-signup-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`smsSignupIntroColorLight`,type:`string | null`,id:`param-sms-signup-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`smsSignupIntroWeight`,type:`SmsSignupIntroWeight | null`,id:`param-sms-signup-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupIntroSize`,type:`SmsSignupIntroSize | null`,id:`param-sms-signup-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupBand`,type:`SmsSignupBand | null`,id:`param-sms-signup-band`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Plain sits on the page; Raised is a contained card; Accent is a solid brand-color band. One of `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupAccentColor`,type:`string | null`,id:`param-sms-signup-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The accent band color. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`smsSignupAccentColorLight`,type:`string | null`,id:`param-sms-signup-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`smsSignupAlign`,type:`SmsSignupAlign | null`,id:`param-sms-signup-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Alignment. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupLayout`,type:`SmsSignupLayout | null`,id:`param-sms-signup-layout`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Inline puts the field + button on one row (stacks on small screens); Stacked always stacks them. One of `,_jsx(_components.code,{children:`inline`}),`, `,_jsx(_components.code,{children:`stacked`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupWidth`,type:`SmsSignupWidth | null`,id:`param-sms-signup-width`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Content width. One of `,_jsx(_components.code,{children:`narrow`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`wide`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupNameEnabled`,type:`boolean`,id:`param-sms-signup-name-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Collect a name.`]})}),_jsx(ResponseField,{name:`smsSignupNameLabel`,type:`string`,id:`param-sms-signup-name-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Name label.`]})}),_jsx(ResponseField,{name:`smsSignupNamePlaceholder`,type:`string`,id:`param-sms-signup-name-placeholder`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Name placeholder.`]})}),_jsx(ResponseField,{name:`smsSignupPhoneLabel`,type:`string`,id:`param-sms-signup-phone-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Phone label.`]})}),_jsx(ResponseField,{name:`smsSignupPhonePlaceholder`,type:`string`,id:`param-sms-signup-phone-placeholder`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Phone placeholder.`]})}),_jsx(ResponseField,{name:`smsSignupTermsText`,type:`string`,id:`param-sms-signup-terms-text`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Carrier-compliance fine print shown under the form.`]})}),_jsx(ResponseField,{name:`smsSignupPrivacyUrl`,type:`string`,id:`param-sms-signup-privacy-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional — linked from the fine print.`]})}),_jsx(ResponseField,{name:`smsSignupTermsUrl`,type:`string`,id:`param-sms-signup-terms-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional — linked from the fine print.`]})}),_jsx(ResponseField,{name:`smsSignupSuccessMessage`,type:`string`,id:`param-sms-signup-success-message`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Success message.`]})}),_jsx(ResponseField,{name:`smsSignupErrorMessage`,type:`string`,id:`param-sms-signup-error-message`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Error message.`]})}),_jsx(ResponseField,{name:`smsSignupBg`,type:`SmsSignupBg | null`,id:`param-sms-signup-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupBgCustom`,type:`string | null`,id:`param-sms-signup-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`smsSignupBgLight`,type:`SmsSignupBgLight | null`,id:`param-sms-signup-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupBgLightCustom`,type:`string | null`,id:`param-sms-signup-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsxs(ResponseField,{name:`smsSignupFontOverrides`,type:`readonly SmsSignupWidgetSmsSignupFontOverridesItem[]`,id:`param-sms-signup-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`SmsSignupWidgetSmsSignupFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`SmsSignupWidgetSmsSignupFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-74`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly SmsSignupWidgetSmsSignupFontOverridesItemUploadsItem[]`,id:`param-uploads-14`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`SmsSignupWidgetSmsSignupFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`SmsSignupWidgetSmsSignupFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-75`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-70`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-14`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-71`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`smsSignupSubmitLabel`,type:`string`,id:`param-sms-signup-submit-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitVariant`,type:`SmsSignupSubmitVariant | null`,id:`param-sms-signup-submit-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitSize`,type:`SmsSignupSubmitSize | null`,id:`param-sms-signup-submit-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitRadius`,type:`SmsSignupSubmitRadius | null`,id:`param-sms-signup-submit-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitColor`,type:`string | null`,id:`param-sms-signup-submit-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitColorLight`,type:`string | null`,id:`param-sms-signup-submit-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`smsSignupSubmitTextColor`,type:`string | null`,id:`param-sms-signup-submit-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`smsSignupSubmitTextColorLight`,type:`string | null`,id:`param-sms-signup-submit-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitHoverColor`,type:`string | null`,id:`param-sms-signup-submit-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitHoverColorLight`,type:`string | null`,id:`param-sms-signup-submit-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitStyle`,type:`SmsSignupSubmitStyle | null`,id:`param-sms-signup-submit-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitShadowColor`,type:`string | null`,id:`param-sms-signup-submit-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitShadowColorLight`,type:`string | null`,id:`param-sms-signup-submit-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitAnimation`,type:`SmsSignupSubmitAnimation | null`,id:`param-sms-signup-submit-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitIcon`,type:`string`,id:`param-sms-signup-submit-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitIconFamily`,type:`SmsSignupSubmitIconFamily | null`,id:`param-sms-signup-submit-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitIconPosition`,type:`SmsSignupSubmitIconPosition | null`,id:`param-sms-signup-submit-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`smsSignupSubmitIconNudge`,type:`boolean`,id:`param-sms-signup-submit-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-29`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-72`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`FormRenderWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`form-render`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`FormRenderWidgetType`,id:`param-type-32`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`form-render`}),`. One of `,_jsx(_components.code,{children:`form-render`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-76`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-36`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`form`,type:`readonly Readonly\u003cRecord\u003cstring, unknown>>[]`,id:`param-form`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The form to show here. Build and edit the form itself in the Forms manager (create one there first if needed). The related `,_jsx(_components.code,{children:`@apostrophecms/form`}),` documents, in order (empty when none). To set it, send a list of `,_jsx(_components.code,{children:`{ \"_id\": \"…\" }`}),`, one per document (one at most); a document the site can’t find is left out. At most 1 items.`]})}),_jsx(ResponseField,{name:`styleOverride`,type:`boolean`,id:`param-style-override`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Off: the form renders with the styling saved on the form itself. On: the styling below replaces it here only — the form’s fields and other placements are unaffected.`]})}),_jsxs(ResponseField,{name:`formFontOverrides`,type:`readonly FormRenderWidgetFormFontOverridesItem[]`,id:`param-form-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FormRenderWidgetFormFontOverridesItem`}),`. Optional. Set part of this form in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`FormRenderWidgetFormFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-77`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly FormRenderWidgetFormFontOverridesItemUploadsItem[]`,id:`param-uploads-15`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FormRenderWidgetFormFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`FormRenderWidgetFormFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-78`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-73`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-15`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-74`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`formEyebrowEnabled`,type:`boolean`,id:`param-form-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show eyebrow.`]})}),_jsx(ResponseField,{name:`formEyebrow`,type:`string`,id:`param-form-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`formEyebrowColor`,type:`string | null`,id:`param-form-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`formEyebrowColorLight`,type:`string | null`,id:`param-form-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`formEyebrowWeight`,type:`FormEyebrowWeight | null`,id:`param-form-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formEyebrowSize`,type:`FormEyebrowSize | null`,id:`param-form-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formHeading`,type:`string`,id:`param-form-heading`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Heading.`]})}),_jsx(ResponseField,{name:`formHeadingColor`,type:`string | null`,id:`param-form-heading-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to track the theme text color.`]})}),_jsx(ResponseField,{name:`formHeadingColorLight`,type:`string | null`,id:`param-form-heading-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`formHeadingWeight`,type:`FormHeadingWeight | null`,id:`param-form-heading-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formHeadingSize`,type:`FormHeadingSize | null`,id:`param-form-heading-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formIntro`,type:`string`,id:`param-form-intro`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Optional short sentence under the heading.`]})}),_jsx(ResponseField,{name:`formIntroColor`,type:`string | null`,id:`param-form-intro-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the muted text color.`]})}),_jsx(ResponseField,{name:`formIntroColorLight`,type:`string | null`,id:`param-form-intro-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color.`]})}),_jsx(ResponseField,{name:`formIntroWeight`,type:`FormIntroWeight | null`,id:`param-form-intro-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formIntroSize`,type:`FormIntroSize | null`,id:`param-form-intro-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`, `,_jsx(_components.code,{children:`xxlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formBand`,type:`FormBand | null`,id:`param-form-band`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Plain sits on the page; Raised is a contained card; Accent is a solid brand-color band. One of `,_jsx(_components.code,{children:`plain`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formAccentColor`,type:`string | null`,id:`param-form-accent-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The accent band color. Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`formAccentColorLight`,type:`string | null`,id:`param-form-accent-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`formAlign`,type:`FormAlign | null`,id:`param-form-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Alignment of the section header (the form fields stay left-aligned for legibility). One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formWidth`,type:`FormWidth | null`,id:`param-form-width`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Content width. One of `,_jsx(_components.code,{children:`narrow`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`wide`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formLabelGap`,type:`FormLabelGap | null`,id:`param-form-label-gap`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vertical space between each field’s label and its input. One of `,_jsx(_components.code,{children:`compact`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`roomy`}),`, `,_jsx(_components.code,{children:`spacious`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formBg`,type:`FormBg | null`,id:`param-form-bg`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The section’s full-width background band in dark mode. Transparent lets the page background show through. The palette options track the site colors; choose “Custom color…” for a specific color. One of `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formBgCustom`,type:`string | null`,id:`param-form-bg-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (dark theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`formBgLight`,type:`FormBgLight | null`,id:`param-form-bg-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. “Match dark theme” reuses the dark-theme choice; otherwise set the light-mode band independently. One of `,_jsx(_components.code,{children:`inherit`}),`, `,_jsx(_components.code,{children:`transparent`}),`, `,_jsx(_components.code,{children:`surface`}),`, `,_jsx(_components.code,{children:`raised`}),`, `,_jsx(_components.code,{children:`sunken`}),`, `,_jsx(_components.code,{children:`hill`}),`, `,_jsx(_components.code,{children:`accent-soft`}),`, `,_jsx(_components.code,{children:`custom`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formBgLightCustom`,type:`string | null`,id:`param-form-bg-light-custom`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Used when “Section background (light theme)” is set to Custom color.`]})}),_jsx(ResponseField,{name:`formSubmitLabel`,type:`string`,id:`param-form-submit-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`formSubmitVariant`,type:`FormSubmitVariant | null`,id:`param-form-submit-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitSize`,type:`FormSubmitSize | null`,id:`param-form-submit-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitRadius`,type:`FormSubmitRadius | null`,id:`param-form-submit-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitColor`,type:`string | null`,id:`param-form-submit-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`formSubmitColorLight`,type:`string | null`,id:`param-form-submit-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`formSubmitTextColor`,type:`string | null`,id:`param-form-submit-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`formSubmitTextColorLight`,type:`string | null`,id:`param-form-submit-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`formSubmitHoverColor`,type:`string | null`,id:`param-form-submit-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`formSubmitHoverColorLight`,type:`string | null`,id:`param-form-submit-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`formSubmitStyle`,type:`FormSubmitStyle | null`,id:`param-form-submit-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitShadowColor`,type:`string | null`,id:`param-form-submit-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`formSubmitShadowColorLight`,type:`string | null`,id:`param-form-submit-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`formSubmitAnimation`,type:`FormSubmitAnimation | null`,id:`param-form-submit-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitIcon`,type:`string`,id:`param-form-submit-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`formSubmitIconFamily`,type:`FormSubmitIconFamily | null`,id:`param-form-submit-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitIconPosition`,type:`FormSubmitIconPosition | null`,id:`param-form-submit-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`formSubmitIconNudge`,type:`boolean`,id:`param-form-submit-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-30`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-75`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]}),_jsxs(Expandable,{title:`FinalCtaWidget`,children:[_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`final-cta`}),` widget: its `,_jsx(_components.code,{children:`type`}),` and its own fields. A field left out takes its default.`]}),_jsx(ResponseField,{name:`type`,type:`FinalCtaWidgetType`,id:`param-type-33`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` The widget’s type: always `,_jsx(_components.code,{children:`final-cta`}),`. One of `,_jsx(_components.code,{children:`final-cta`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-79`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The widget’s id, unique on the page. Leave it out for a new widget (the site sets one); keep it to change a widget that is there.`]})}),_jsx(ResponseField,{name:`metaType`,type:`MetaType`,id:`param-meta-type-37`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Always `,_jsx(_components.code,{children:`widget`}),`. One of `,_jsx(_components.code,{children:`widget`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaAlign`,type:`CtaAlign | null`,id:`param-cta-align`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Content alignment. One of `,_jsx(_components.code,{children:`center`}),`, `,_jsx(_components.code,{children:`left`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaEyebrowEnabled`,type:`boolean`,id:`param-cta-eyebrow-enabled`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Show eyebrow / kicker.`]})}),_jsx(ResponseField,{name:`ctaEyebrow`,type:`string`,id:`param-cta-eyebrow`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Small label shown above the title.`]})}),_jsx(ResponseField,{name:`ctaEyebrowColor`,type:`string | null`,id:`param-cta-eyebrow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the eyebrow + its dash. Leave empty to use the secondary (mint) color.`]})}),_jsx(ResponseField,{name:`ctaEyebrowColorLight`,type:`string | null`,id:`param-cta-eyebrow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the mint default.`]})}),_jsx(ResponseField,{name:`ctaEyebrowWeight`,type:`CtaEyebrowWeight | null`,id:`param-cta-eyebrow-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaEyebrowSize`,type:`CtaEyebrowSize | null`,id:`param-cta-eyebrow-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Eyebrow size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`, `,_jsx(_components.code,{children:`xlarge`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaIconPlacement`,type:`CtaIconPlacement | null`,id:`param-cta-icon-placement`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. An optional Font Awesome icon above the headline. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`top`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaIcon`,type:`string`,id:`param-cta-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`ctaIconFamily`,type:`CtaIconFamily | null`,id:`param-cta-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaIconColor`,type:`string | null`,id:`param-cta-icon-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional — leave empty to use the design’s own color rhythm.`]})}),_jsx(ResponseField,{name:`ctaIconAnimation`,type:`CtaIconAnimation | null`,id:`param-cta-icon-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon animation. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`fa-beat`}),`, `,_jsx(_components.code,{children:`fa-bounce`}),`, `,_jsx(_components.code,{children:`fa-fade`}),`, `,_jsx(_components.code,{children:`fa-beat-fade`}),`, `,_jsx(_components.code,{children:`fa-flip`}),`, `,_jsx(_components.code,{children:`fa-shake`}),`, `,_jsx(_components.code,{children:`fa-spin`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaIconSize`,type:`CtaIconSize | null`,id:`param-cta-icon-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Relative to the component’s base icon size. One of `,_jsx(_components.code,{children:`default`}),`, `,_jsx(_components.code,{children:`sm`}),`, `,_jsx(_components.code,{children:`lg`}),`, `,_jsx(_components.code,{children:`xl`}),`, `,_jsx(_components.code,{children:`2xl`}),`, `,_jsx(_components.code,{children:`2x`}),`, `,_jsx(_components.code,{children:`3x`}),`, `,_jsx(_components.code,{children:`4x`}),`, `,_jsx(_components.code,{children:`5x`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaIconTilt`,type:`CtaIconTilt | null`,id:`param-cta-icon-tilt`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A slight rotation for a more playful look. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`left`}),`, `,_jsx(_components.code,{children:`right`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaHeadline`,type:`string`,id:`param-cta-headline`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Headline.`]})}),_jsx(ResponseField,{name:`ctaHeadlineColor`,type:`string | null`,id:`param-cta-headline-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the headline color. Leave empty for the on-accent (legible-on-band) default.`]})}),_jsx(ResponseField,{name:`ctaHeadlineColorLight`,type:`string | null`,id:`param-cta-headline-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the on-accent default.`]})}),_jsx(ResponseField,{name:`ctaHeadlineWeight`,type:`CtaHeadlineWeight | null`,id:`param-cta-headline-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Headline weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`, `,_jsx(_components.code,{children:`extrabold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaBody`,type:`string`,id:`param-cta-body`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Supporting copy.`]})}),_jsx(ResponseField,{name:`ctaBodyColor`,type:`string | null`,id:`param-cta-body-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Overrides the supporting-copy color. Leave empty for the softened on-accent default.`]})}),_jsx(ResponseField,{name:`ctaBodyColorLight`,type:`string | null`,id:`param-cta-body-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the softened on-accent default.`]})}),_jsx(ResponseField,{name:`ctaBodyWeight`,type:`CtaBodyWeight | null`,id:`param-cta-body-weight`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Body weight. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`medium`}),`, `,_jsx(_components.code,{children:`semibold`}),`, `,_jsx(_components.code,{children:`bold`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaBackgroundType`,type:`CtaBackgroundType | null`,id:`param-cta-background-type`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid keeps the loud color block; Image places a photo behind the text with a readability overlay. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`image`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaBackgroundColor`,type:`string | null`,id:`param-cta-background-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The solid band color (and the fallback behind a background image). Leave empty to use the site accent color.`]})}),_jsx(ResponseField,{name:`ctaBackgroundColorLight`,type:`string | null`,id:`param-cta-background-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color, then the accent.`]})}),_jsx(ResponseField,{name:`ctaImage`,type:`ImageArea`,id:`param-cta-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. An `,_jsx(_components.code,{children:`ImageArea`}),`. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area. Its fields are listed under the first `,_jsx(_components.code,{children:`ImageArea`}),` above.`]})}),_jsx(ResponseField,{name:`ctaOverlayColor`,type:`string | null`,id:`param-cta-overlay-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Scrim over the image to keep the text readable. Leave empty to use the accent color.`]})}),_jsx(ResponseField,{name:`ctaOverlayColorLight`,type:`string | null`,id:`param-cta-overlay-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme overlay, then the accent.`]})}),_jsx(ResponseField,{name:`ctaOverlayOpacity`,type:`number | null`,id:`param-cta-overlay-opacity`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Overlay opacity (%). 0 to 100.`]})}),_jsx(ResponseField,{name:`ctaRings`,type:`boolean`,id:`param-cta-rings`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The two large outlined circles on the band.`]})}),_jsx(ResponseField,{name:`ctaRingColor`,type:`string | null`,id:`param-cta-ring-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Drawn at a low opacity. Leave empty to use the on-accent (white-ish) default.`]})}),_jsxs(ResponseField,{name:`ctaFontOverrides`,type:`readonly FinalCtaWidgetCtaFontOverridesItem[]`,id:`param-cta-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FinalCtaWidgetCtaFontOverridesItem`}),`. Optional. Set part of this section in a different typeface. Leave empty to follow the site’s fonts (Site design → Typography). At most 4 items.`]}),_jsxs(Expandable,{title:`FinalCtaWidgetCtaFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-80`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly FinalCtaWidgetCtaFontOverridesItemUploadsItem[]`,id:`param-uploads-16`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`FinalCtaWidgetCtaFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`FinalCtaWidgetCtaFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-81`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-76`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-16`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-77`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`ctaPrimaryLabel`,type:`string`,id:`param-cta-primary-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`ctaPrimaryUrl`,type:`string`,id:`param-cta-primary-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`ctaPrimaryNewTab`,type:`boolean`,id:`param-cta-primary-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`ctaPrimaryVariant`,type:`CtaPrimaryVariant | null`,id:`param-cta-primary-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimarySize`,type:`CtaPrimarySize | null`,id:`param-cta-primary-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimaryRadius`,type:`CtaPrimaryRadius | null`,id:`param-cta-primary-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimaryColor`,type:`string | null`,id:`param-cta-primary-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`ctaPrimaryColorLight`,type:`string | null`,id:`param-cta-primary-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`ctaPrimaryTextColor`,type:`string | null`,id:`param-cta-primary-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`ctaPrimaryTextColorLight`,type:`string | null`,id:`param-cta-primary-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`ctaPrimaryHoverColor`,type:`string | null`,id:`param-cta-primary-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`ctaPrimaryHoverColorLight`,type:`string | null`,id:`param-cta-primary-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`ctaPrimaryStyle`,type:`CtaPrimaryStyle | null`,id:`param-cta-primary-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimaryShadowColor`,type:`string | null`,id:`param-cta-primary-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`ctaPrimaryShadowColorLight`,type:`string | null`,id:`param-cta-primary-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`ctaPrimaryAnimation`,type:`CtaPrimaryAnimation | null`,id:`param-cta-primary-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimaryIcon`,type:`string`,id:`param-cta-primary-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`ctaPrimaryIconFamily`,type:`CtaPrimaryIconFamily | null`,id:`param-cta-primary-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimaryIconPosition`,type:`CtaPrimaryIconPosition | null`,id:`param-cta-primary-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaPrimaryIconNudge`,type:`boolean`,id:`param-cta-primary-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`ctaSecondaryLabel`,type:`string`,id:`param-cta-secondary-label`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The visible button text. Leave empty to hide the button.`]})}),_jsx(ResponseField,{name:`ctaSecondaryUrl`,type:`string`,id:`param-cta-secondary-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Where the button goes — a path (/blog) or full URL.`]})}),_jsx(ResponseField,{name:`ctaSecondaryNewTab`,type:`boolean`,id:`param-cta-secondary-new-tab`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Opens the link in a new browser tab (adds rel=“noopener noreferrer”).`]})}),_jsx(ResponseField,{name:`ctaSecondaryVariant`,type:`CtaSecondaryVariant | null`,id:`param-cta-secondary-variant`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fills with the color; Outline / Soft / Text link use it for the border + text. One of `,_jsx(_components.code,{children:`solid`}),`, `,_jsx(_components.code,{children:`outline`}),`, `,_jsx(_components.code,{children:`soft`}),`, `,_jsx(_components.code,{children:`link`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondarySize`,type:`CtaSecondarySize | null`,id:`param-cta-secondary-size`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Button size. One of `,_jsx(_components.code,{children:`small`}),`, `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`large`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondaryRadius`,type:`CtaSecondaryRadius | null`,id:`param-cta-secondary-radius`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Corner radius. One of `,_jsx(_components.code,{children:`pill`}),`, `,_jsx(_components.code,{children:`rounded`}),`, `,_jsx(_components.code,{children:`slight`}),`, `,_jsx(_components.code,{children:`square`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondaryColor`,type:`string | null`,id:`param-cta-secondary-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Solid fill, or the border + text for the other styles. Defaults to the brand accent; CLEAR it for a transparent, outline-only button.`]})}),_jsx(ResponseField,{name:`ctaSecondaryColorLight`,type:`string | null`,id:`param-cta-secondary-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme color. (Brand tokens already flip per theme.)`]})}),_jsx(ResponseField,{name:`ctaSecondaryTextColor`,type:`string | null`,id:`param-cta-secondary-text-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The text/icon color. Clear it to derive from the button color (readable on solid fills).`]})}),_jsx(ResponseField,{name:`ctaSecondaryTextColorLight`,type:`string | null`,id:`param-cta-secondary-text-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme label color.`]})}),_jsx(ResponseField,{name:`ctaSecondaryHoverColor`,type:`string | null`,id:`param-cta-secondary-hover-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. Drives the hover treatment. Leave empty to derive it from the button color.`]})}),_jsx(ResponseField,{name:`ctaSecondaryHoverColorLight`,type:`string | null`,id:`param-cta-secondary-hover-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme hover color.`]})}),_jsx(ResponseField,{name:`ctaSecondaryStyle`,type:`CtaSecondaryStyle | null`,id:`param-cta-secondary-style`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The hover treatment: a soft shadow, a colored offset shadow, a glow, a fill sweep, or a thicker border. One of `,_jsx(_components.code,{children:`none`}),`, `,_jsx(_components.code,{children:`single`}),`, `,_jsx(_components.code,{children:`dual`}),`, `,_jsx(_components.code,{children:`glow`}),`, `,_jsx(_components.code,{children:`sweep`}),`, `,_jsx(_components.code,{children:`thicken`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondaryShadowColor`,type:`string | null`,id:`param-cta-secondary-shadow-color`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional. The offset-shadow or glow color on hover. Leave empty to use the site secondary color.`]})}),_jsx(ResponseField,{name:`ctaSecondaryShadowColorLight`,type:`string | null`,id:`param-cta-secondary-shadow-color-light`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Optional light-theme override. Falls back to the dark-theme shadow color.`]})}),_jsx(ResponseField,{name:`ctaSecondaryAnimation`,type:`CtaSecondaryAnimation | null`,id:`param-cta-secondary-animation`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Hover motion. One of `,_jsx(_components.code,{children:`lift`}),`, `,_jsx(_components.code,{children:`scale`}),`, `,_jsx(_components.code,{children:`lift-scale`}),`, `,_jsx(_components.code,{children:`none`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondaryIcon`,type:`string`,id:`param-cta-secondary-icon`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Any Font Awesome icon name, e.g. star, bolt, arrow-left-to-bracket (no “fa-” prefix). Browse at fontawesome.com/icons.`]})}),_jsx(ResponseField,{name:`ctaSecondaryIconFamily`,type:`CtaSecondaryIconFamily | null`,id:`param-cta-secondary-icon-family`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Icon family. One of `,_jsx(_components.code,{children:`classic-regular`}),`, `,_jsx(_components.code,{children:`duotone-regular`}),`, `,_jsx(_components.code,{children:`brands`}),`, `,_jsx(_components.code,{children:`jelly`}),`, `,_jsx(_components.code,{children:`jelly-duo`}),`, `,_jsx(_components.code,{children:`whiteboard`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondaryIconPosition`,type:`CtaSecondaryIconPosition | null`,id:`param-cta-secondary-icon-position`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which side of the label the icon sits on (when an icon name is set). One of `,_jsx(_components.code,{children:`before`}),`, `,_jsx(_components.code,{children:`after`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`ctaSecondaryIconNudge`,type:`boolean`,id:`param-cta-secondary-icon-nudge`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The icon slides toward its side on hover (e.g. an arrow edges outward).`]})}),_jsx(ResponseField,{name:`sectionCss`,type:`CustomCSS | null`,id:`param-section-css-31`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A `,_jsx(_components.code,{children:`CustomCSS`}),`. CSS for this one section, typed into the slot of the part it styles. It wins over Site design → Custom CSS. Nested rules like \u0026:hover, @media (width >= 48rem) and [data-theme=“light”] \u0026 work inside a slot. Its fields are listed under the first `,_jsx(_components.code,{children:`CustomCSS`}),` above.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-78`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]})]}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-79`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsxs(ResponseField,{name:`postFontOverrides`,type:`readonly BlogPostFontOverridesItem[] | null`,id:`param-post-font-overrides`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. A list of `,_jsx(_components.code,{children:`BlogPostFontOverridesItem`}),`. Optional. Leave empty to follow the blog’s Reading settings (and, through them, the site fonts). Adding a row here replaces the blog-wide choice for this post only. At most 4 items.`]}),_jsxs(Expandable,{title:`BlogPostFontOverridesItem`,children:[_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-82`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`target`,type:`Target | null`,id:`param-target-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Which text this typeface replaces. Rows apply in order, so a broad row (Everything) followed by a narrow one (Headings) gives the section a base face plus an exception. One of `,_jsx(_components.code,{children:`all`}),`, `,_jsx(_components.code,{children:`heading`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`eyebrow`}),`, `,_jsx(_components.code,{children:`button`}),`, `,_jsx(_components.code,{children:`code`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`source`,type:`Source | null`,id:`param-source-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where the typeface comes from. The first option costs nothing extra — those faces are already loaded. The others load an additional font on pages that use this section. One of `,_jsx(_components.code,{children:`slot`}),`, `,_jsx(_components.code,{children:`curated`}),`, `,_jsx(_components.code,{children:`cdn`}),`, `,_jsx(_components.code,{children:`upload`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`slot`,type:`Slot | null`,id:`param-slot-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Set in Site design → Typography. Following the site’s own faces keeps a section on-brand and adds no download. One of `,_jsx(_components.code,{children:`display`}),`, `,_jsx(_components.code,{children:`body`}),`, `,_jsx(_components.code,{children:`accent`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`curated`,type:`Curated | null`,id:`param-curated-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Vetted families from Bunny Fonts and Fontshare, with their available weights already verified. One of `,_jsx(_components.code,{children:`archivo`}),`, `,_jsx(_components.code,{children:`bricolage-grotesque`}),`, `,_jsx(_components.code,{children:`clash-display`}),`, `,_jsx(_components.code,{children:`courier-prime`}),`, `,_jsx(_components.code,{children:`dm-mono`}),`, `,_jsx(_components.code,{children:`dm-sans`}),`, `,_jsx(_components.code,{children:`fira-code`}),`, `,_jsx(_components.code,{children:`fraunces`}),`, `,_jsx(_components.code,{children:`general-sans`}),`, `,_jsx(_components.code,{children:`ibm-plex-mono`}),`, `,_jsx(_components.code,{children:`ibm-plex-sans`}),`, `,_jsx(_components.code,{children:`inconsolata`}),`, `,_jsx(_components.code,{children:`inter`}),`, `,_jsx(_components.code,{children:`jetbrains-mono`}),`, `,_jsx(_components.code,{children:`karla`}),`, `,_jsx(_components.code,{children:`lora`}),`, `,_jsx(_components.code,{children:`manrope`}),`, `,_jsx(_components.code,{children:`nunito-sans`}),`, `,_jsx(_components.code,{children:`outfit`}),`, `,_jsx(_components.code,{children:`playfair-display`}),`, `,_jsx(_components.code,{children:`public-sans`}),`, `,_jsx(_components.code,{children:`red-hat-mono`}),`, `,_jsx(_components.code,{children:`satoshi`}),`, `,_jsx(_components.code,{children:`sentient`}),`, `,_jsx(_components.code,{children:`sora`}),`, `,_jsx(_components.code,{children:`source-code-pro`}),`, `,_jsx(_components.code,{children:`source-sans-3`}),`, `,_jsx(_components.code,{children:`source-serif-4`}),`, `,_jsx(_components.code,{children:`space-grotesk`}),`, `,_jsx(_components.code,{children:`space-mono`}),`, `,_jsx(_components.code,{children:`spline-sans-mono`}),`, `,_jsx(_components.code,{children:`supreme`}),`, `,_jsx(_components.code,{children:`switzer`}),`, `,_jsx(_components.code,{children:`syne`}),`, `,_jsx(_components.code,{children:`ubuntu-mono`}),`, `,_jsx(_components.code,{children:`unbounded`}),`, `,_jsx(_components.code,{children:`victor-mono`}),`, `,_jsx(_components.code,{children:`work-sans`}),`, `,_jsx(_components.code,{children:`zodiak`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnProvider`,type:`CdnProvider | null`,id:`param-cdn-provider-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Where to browse for the family. Pick one, then follow the link below to find the exact name. One of `,_jsx(_components.code,{children:`bunny`}),`, `,_jsx(_components.code,{children:`fontshare`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`cdnFamily`,type:`string`,id:`param-cdn-family-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Exactly as the provider’s catalog spells it, e.g. “Space Grotesk” or “Clash Display”. A name the provider doesn’t have loads nothing and this row is ignored.`]})}),_jsx(ResponseField,{name:`cdnWeights`,type:`string`,id:`param-cdn-weights-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. Comma-separated weights to load, e.g. 400, 700. Empty loads 400, 500, 700. Weights the family doesn’t ship are skipped by the CDN and synthesized by the browser (faux bold) — but a family that ships only ONE weight (Acme, for instance) loads nothing at all unless that weight is among these, so set it explicitly if the typeface doesn’t appear.`]})}),_jsxs(ResponseField,{name:`uploads`,type:`readonly BlogPostFontOverridesItemUploadsItem[]`,id:`param-uploads-17`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. A list of `,_jsx(_components.code,{children:`BlogPostFontOverridesItemUploadsItem`}),`. One file per weight/style of the SAME typeface. woff2 strongly recommended (smallest, universally supported); woff/ttf/otf also accepted. At most 4 items.`]}),_jsxs(Expandable,{title:`BlogPostFontOverridesItemUploadsItem`,children:[_jsx(ResponseField,{name:`file`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-file-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always sent.`}),` File attachment reference.`]})}),_jsx(ResponseField,{name:`id`,type:`string`,id:`param-id-83`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. The row’s id, unique in its array.`]})}),_jsx(ResponseField,{name:`weight`,type:`Weight | null`,id:`param-weight-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Weight. One of `,_jsx(_components.code,{children:`100`}),`, `,_jsx(_components.code,{children:`200`}),`, `,_jsx(_components.code,{children:`300`}),`, `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`500`}),`, `,_jsx(_components.code,{children:`600`}),`, `,_jsx(_components.code,{children:`700`}),`, `,_jsx(_components.code,{children:`800`}),`, `,_jsx(_components.code,{children:`900`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`style`,type:`Style | null`,id:`param-style-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Style. One of `,_jsx(_components.code,{children:`normal`}),`, `,_jsx(_components.code,{children:`italic`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-80`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`fallback`,type:`Fallback | null`,id:`param-fallback-17`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Generic system font shown while this typeface loads (and if it fails). Curated picks set this automatically. One of `,_jsx(_components.code,{children:`sans`}),`, `,_jsx(_components.code,{children:`serif`}),`, `,_jsx(_components.code,{children:`mono`}),`; a newer site may send others, so keep a fallback.`]})}),_jsx(ResponseField,{name:`fields`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-fields-81`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Always there:`}),` `,_jsx(_components.code,{children:`{}`}),` when there are none. Any keys the site sent that aren’t listed above (such as one added after this SDK was built), by their wire names, as sent. Pass this model to a write and they are sent too.`]})})]})]}),_jsx(ResponseField,{name:`seoTitle`,type:`string | null`,id:`param-seo-title`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Overrides the document title in the browser tab and search results. Leave blank to use the regular title.`]})}),_jsx(ResponseField,{name:`seoDescription`,type:`string | null`,id:`param-seo-description`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. Shown in search results and link previews. Aim for 150–160 characters.`]})}),_jsx(ResponseField,{name:`seoImage`,type:`ImageArea`,id:`param-seo-image`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. An `,_jsx(_components.code,{children:`ImageArea`}),`. Used for Open Graph / social link previews. Recommended 1200×630. Widgets, top to bottom: send `,_jsx(_components.code,{children:`{ \"items\": [ … ] }`}),`, one object per widget with its `,_jsx(_components.code,{children:`type`}),`. Writing it replaces the whole area. Its fields are listed under the first `,_jsx(_components.code,{children:`ImageArea`}),` above.`]})}),_jsx(ResponseField,{name:`archived`,type:`boolean | null`,id:`param-archived`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. In the archive: kept, but out of every list and off the site until it is restored. `,_jsx(_components.code,{children:`false`}),` (or null) for a live document.`]})}),_jsx(ResponseField,{name:`createdAt`,type:`Date | null`,id:`param-created-at`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. When it was created (ISO 8601). Format: an ISO 8601 date and time.`]})}),_jsx(ResponseField,{name:`updatedAt`,type:`Date | null`,id:`param-updated-at`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. When it last changed (ISO 8601). Format: an ISO 8601 date and time.`]})}),_jsx(ResponseField,{name:`url`,type:`string | null`,id:`param-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The document’s page on the site. Format: an absolute URL.`]})}),_jsx(ResponseField,{name:`parentUrl`,type:`string | null`,id:`param-parent-url`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The page that lists it (the blog page). Format: an absolute URL.`]})}),_jsx(ResponseField,{name:`parentSlug`,type:`string | null`,id:`param-parent-slug`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. That page’s slug.`]})}),_jsx(ResponseField,{name:`parent`,type:`Readonly\u003cRecord\u003cstring, unknown>>`,id:`param-parent`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out. That page, briefly (`,_jsx(_components.code,{children:`_id`}),`, `,_jsx(_components.code,{children:`title`}),`, `,_jsx(_components.code,{children:`slug`}),`, `,_jsx(_components.code,{children:`type`}),`, `,_jsx(_components.code,{children:`path`}),`, `,_jsx(_components.code,{children:`level`}),`).`]})}),_jsx(ResponseField,{name:`aposShareKey`,type:`string | null`,id:`param-apos-share-key`,children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Sometimes sent:`}),` `,_jsx(_components.code,{children:`undefined`}),` when the site leaves it out, and it can be `,_jsx(_components.code,{children:`null`}),`. The draft’s preview share key, while its share link is on: the link is the draft’s `,_jsx(_components.code,{children:`_url`}),` with `,_jsx(_components.code,{children:`aposShareKey`}),` and `,_jsx(_components.code,{children:`aposShareId`}),` (the draft’s `,_jsx(_components.code,{children:`_id`}),`) in its query. Absent otherwise, and on published documents.`]})})]}),_jsxs(Accordion,{title:`Errors`,icon:`triangle-exclamation`,id:`errors`,children:[_jsxs(_components.p,{children:[`Nothing to catch: the SDK retries what is safe, and throws the rest as the classes below. Your exception handler turns them into your app’s own answers, once for every call (see `,_jsx(_components.a,{href:`/adonisjs/calling-the-api#map-sdk-errors-to-responses`,children:`Map SDK errors to responses`}),`); catch only what you want to react to here.`]}),_jsxs(ResponseField,{name:`ValidationFailed`,type:`400`,id:`param-validation-failed`,children:[_jsxs(_components.p,{children:[`The site refused what was sent: `,_jsx(_components.code,{children:`errors`}),` lists each field’s problem, `,_jsx(_components.code,{children:`siteMessage`}),` the first.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`errors`}),` (field → messages), `,_jsx(_components.code,{children:`siteMessage`}),`.`]})]}),_jsxs(ResponseField,{name:`AuthenticationFailed`,type:`401`,id:`param-authentication-failed`,children:[_jsx(_components.p,{children:`The API key is missing or refused (malformed, revoked, expired), or a signature its signing mode needs is missing or stale.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`siteMessage`}),`, `,_jsx(_components.code,{children:`errorName`}),`, `,_jsx(_components.code,{children:`data`}),`.`]})]}),_jsxs(ResponseField,{name:`Forbidden`,type:`403`,id:`param-forbidden`,children:[_jsxs(_components.p,{children:[`The key may not do this: a scope it lacks, or an address outside its allowlist. `,_jsx(_components.code,{children:`siteMessage`}),` names it.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`siteMessage`}),`, `,_jsx(_components.code,{children:`errorName`}),`, `,_jsx(_components.code,{children:`data`}),`.`]})]}),_jsxs(ResponseField,{name:`NotFound`,type:`404`,id:`param-not-found`,children:[_jsx(_components.p,{children:`Nothing matches, or the caller may not see it.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`siteMessage`}),`, `,_jsx(_components.code,{children:`errorName`}),`, `,_jsx(_components.code,{children:`data`}),`.`]})]}),_jsxs(ResponseField,{name:`SiteError`,type:`500`,id:`param-site-error`,children:[_jsx(_components.p,{children:`The site failed. Its logs say why.`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No: a write may have landed. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`siteMessage`}),`, `,_jsx(_components.code,{children:`errorName`}),`, `,_jsx(_components.code,{children:`data`}),`.`]})]}),_jsxs(ResponseField,{name:`SiteUnreachable`,type:`no answer`,id:`param-site-unreachable`,children:[_jsx(_components.p,{children:`No answer: DNS, a refused connection, TLS, or the timeout (15 s per attempt by default).`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` Only when nothing reached the site (`,_jsx(_components.code,{children:`neverConnected()`}),`); never after a timeout, when it may have landed. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`reason`}),`, `,_jsx(_components.code,{children:`neverConnected`}),`.`]})]}),_jsxs(ResponseField,{name:`RequestNotSent`,type:`not sent`,id:`param-request-not-sent`,children:[_jsxs(_components.p,{children:[`The client refused to send it (e.g. a path segment of `,_jsx(_components.code,{children:`..`}),`); the site never saw it.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`reason`}),` (what to change).`]})]}),_jsxs(ResponseField,{name:`SiteRequestFailed`,type:`any other`,id:`param-site-request-failed`,children:[_jsx(_components.p,{children:`Any other status, or a success whose JSON doesn’t match this SDK version’s types (update the SDK).`}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`reason`}),`, `,_jsx(_components.code,{children:`status`}),`.`]})]}),_jsxs(ResponseField,{name:`UnknownSite`,type:`setup`,id:`param-unknown-site`,children:[_jsxs(_components.p,{children:[_jsx(_components.code,{children:`sites.forSite('acme')`}),` named a slug `,_jsx(_components.code,{children:`config/attract.ts`}),` doesn’t list (with the keys in the database: no row in `,_jsx(_components.code,{children:`attract_api_keys`}),`).`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No: nothing was sent. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`message`}),`, `,_jsx(_components.code,{children:`slug`}),`.`]})]}),_jsxs(ResponseField,{name:`SiteConfigurationError`,type:`setup`,id:`param-site-configuration-error`,children:[_jsxs(_components.p,{children:[`The site’s entry is wrong: a malformed `,_jsx(_components.code,{children:`baseUrl`}),` or key, a key filed under another slug, or no default site. `,_jsx(_components.code,{children:`node ace attract:check`}),` names the fix.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Retried first:`}),` No: nothing was sent. `,_jsx(_components.strong,{children:`Read:`}),` `,_jsx(_components.code,{children:`message`}),` (what to fix).`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`behavior`,children:`Behavior`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Access:`}),` an API key with `,_jsx(_components.code,{children:`content:blog:publish`}),` (or a master above it: `,_jsx(_components.code,{children:`content:blog:all`}),`, `,_jsx(_components.code,{children:`content:all`}),`, `,_jsx(_components.code,{children:`admin:all`}),`). A signed-in person may call it as far as their own permissions allow; anyone else gets 403.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Rate limit:`}),` the key’s own writes-per-minute limit, set when the key is created (default 120); over it, 429 with `,_jsx(_components.code,{children:`Retry-After`}),`. The client waits and retries for you; you see `,_jsx(_components.code,{children:`RateLimited`}),` only if that runs out.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Retries:`}),` a write is sent again only after a 429 (refused before it acted) or when it never reached the site. After a timeout or a 5xx it may have landed: check before you send it again.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Timeout:`}),` 15 s per attempt by default; raise `,_jsx(_components.code,{children:`timeout`}),` (milliseconds) in `,_jsx(_components.code,{children:`config/attract.ts`}),` for longer.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`test-it`,children:`Test it`}),`\n`,_jsxs(_components.p,{children:[`It calls the controller above with the SDK faked: `,_jsx(_components.code,{children:`fakeAttract()`}),` puts the fake in the container for this one test, and it answers every call with a valid example, so nothing leaves your machine and no key is read. Save it as `,_jsx(_components.code,{children:`tests/unit/blog_posts_publish_blog.spec.ts`}),`, then run your tests:`]}),`\n`,_jsx(CodeBlock,{filename:`tests/unit/blog_posts_publish_blog.spec.ts`,numberOfLines:`16`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`16`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`test`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@japa/runner'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` app`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@adonisjs/core/services/app'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` testUtils`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@adonisjs/core/services/test_utils'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`fakeAttract`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@fetchski/attract-cms-adonis/testing'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` PublishBlogController`}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '#controllers/publish_blog_controller'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`test`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'blogPosts.publishBlog'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` () `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`fakeAttract`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` ctx`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` testUtils`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`createHttpContext`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`()`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` ctx`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`params`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`id:`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'clx8m2k4p0000a1b2c3d4e5f6'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` controller`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` app`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`container`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`make`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`PublishBlogController`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` controller`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`handle`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`ctx`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`assertCalled`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'blogPosts.publishBlog'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, (`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`args`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`) `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` args`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`id`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` === `}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'clx8m2k4p0000a1b2c3d4e5f6'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`})`})}),`\n`]})})}),`\n`,_jsx(CodeBlock,{filename:`Terminal`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`node`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` ace`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` test`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Answer with your own values:`}),` fake `,_jsx(_components.code,{children:`blogPosts.publishBlog`}),` with `,_jsx(_components.code,{children:`factories.Blog({...})`}),`, the fields you give over a valid example.`]}),`\n`,_jsx(CodeBlock,{filename:`tests/unit/blog_posts_publish_blog_answers.spec.ts`,numberOfLines:`11`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes dark-plus dark-plus`,style:{backgroundColor:`#0B0C0E`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`11`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`test`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@japa/runner'`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`factories`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`fakeAttract`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` '@fetchski/attract-cms-adonis/testing'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`test`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:`'blogPosts.publishBlog answers your values'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`async`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` ({ `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`assert`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }) `}),_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:`=>`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`fakeAttract`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'blogPosts.publishBlog'`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`:`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` factories`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`Blog`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`title:`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'Your value'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` }),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` })`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#569CD6`,\"--shiki-dark\":`#569CD6`},children:` const`}),_jsx(_components.span,{style:{color:`#4FC1FF`,\"--shiki-dark\":`#4FC1FF`},children:` blog`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` = `}),_jsx(_components.span,{style:{color:`#C586C0`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` site`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`blogPosts`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`().`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`publishBlog`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`({ `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`id:`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'clx8m2k4p0000a1b2c3d4e5f6'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` })`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:` assert`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#DCDCAA`,\"--shiki-dark\":`#DCDCAA`},children:`containSubset`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`blog`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`, { `}),_jsx(_components.span,{style:{color:`#9CDCFE`,\"--shiki-dark\":`#9CDCFE`},children:`title:`}),_jsx(_components.span,{style:{color:`#CE9178`,\"--shiki-dark\":`#CE9178`},children:` 'Your value'`}),_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:` })`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#D4D4D4`,\"--shiki-dark\":`#D4D4D4`},children:`})`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`2`,id:`related`,children:`Related`}),`\n`,_jsxs(Columns,{cols:2,children:[_jsx(Card,{title:`List a blog post’s locales`,icon:`globe`,href:`/adonisjs/reference/blog-posts/get-blog-locales`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`site.blogPosts().getBlogLocales()`})})}),_jsx(Card,{title:`Get the Markdown template`,icon:`magnifying-glass`,href:`/adonisjs/reference/blog-posts/get-blog-markdown-template`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`site.blogPosts().getBlogMarkdownTemplate()`})})}),_jsx(Card,{title:`Get the MDX template`,icon:`magnifying-glass`,href:`/adonisjs/reference/blog-posts/get-blog-mdx-template`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`site.blogPosts().getBlogMdxTemplate()`})})}),_jsx(Card,{title:`List blog posts`,icon:`list`,href:`/adonisjs/reference/blog-posts/list-blogs`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`site.blogPosts().listBlogs()`})})}),_jsx(Card,{title:`Create a blog post`,icon:`plus`,href:`/adonisjs/reference/blog-posts/create-blog`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`site.blogPosts().createBlog()`})})}),_jsx(Card,{title:`Get a blog post`,icon:`eye`,href:`/adonisjs/reference/blog-posts/get-blog`,children:_jsx(_components.p,{children:_jsx(_components.code,{children:`site.blogPosts().getBlog()`})})})]}),`\n`,_jsx(Card,{title:`POST /@apostrophecms/blog/{_id}/publish`,icon:`code`,href:`/api-reference/blog-posts/publish-a-blog-post`,arrow:true,horizontal:true,children:_jsx(_components.p,{children:`The endpoint this calls, in the API reference: the HTTP request and answer, and every rule the site checks.`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Publish a blog post","sidebarTitle":"Publish","description":"Publishes the draft: its content becomes the published document.","icon":"paper-plane","href":"/adonisjs/reference/blog-posts/publish-blog"}}}},"mdxExtracts":{"tableOfContents":[{"title":"In your app","slug":"in-your-app","depth":2,"children":[]},{"title":"Find the id","slug":"find-the-id","depth":2,"children":[]},{"title":"Behavior","slug":"behavior","depth":2,"children":[]},{"title":"Test it","slug":"test-it","depth":2,"children":[]},{"title":"Related","slug":"related","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"AdonisJS","html":"\u003cpre class=\"shiki shiki-themes dark-plus dark-plus\" style=\"background-color:#0B0C0E;--shiki-dark-bg:#0B0C0E;color:#D4D4D4;--shiki-dark:#D4D4D4\" language=\"typescript\">\u003ccode language=\"typescript\" numberOfLines=\"5\">\u003cspan class=\"line\">\u003cspan style=\"color:#C586C0;--shiki-dark:#C586C0\">import\u003c/span>\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> app\u003c/span>\u003cspan style=\"color:#C586C0;--shiki-dark:#C586C0\"> from\u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\"> '@adonisjs/core/services/app'\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#C586C0;--shiki-dark:#C586C0\">import\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> { \u003c/span>\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\">SiteClient\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> } \u003c/span>\u003cspan style=\"color:#C586C0;--shiki-dark:#C586C0\">from\u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\"> '@fetchski/attract-cms-sdk'\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#569CD6;--shiki-dark:#569CD6\">const\u003c/span>\u003cspan style=\"color:#4FC1FF;--shiki-dark:#4FC1FF\"> site\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> = \u003c/span>\u003cspan style=\"color:#C586C0;--shiki-dark:#C586C0\">await\u003c/span>\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> app\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\">container\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#DCDCAA;--shiki-dark:#DCDCAA\">make\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">(\u003c/span>\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\">SiteClient\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">)\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#569CD6;--shiki-dark:#569CD6\">const\u003c/span>\u003cspan style=\"color:#4FC1FF;--shiki-dark:#4FC1FF\"> blog\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> = \u003c/span>\u003cspan style=\"color:#C586C0;--shiki-dark:#C586C0\">await\u003c/span>\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> site\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">.\u003c/span>\u003cspan style=\"color:#DCDCAA;--shiki-dark:#DCDCAA\">blogPosts\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">().\u003c/span>\u003cspan style=\"color:#DCDCAA;--shiki-dark:#DCDCAA\">publishBlog\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">({ \u003c/span>\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\">id:\u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\"> 'clx8m2k4p0000a1b2c3d4e5f6'\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> })\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"200","html":"\u003cpre class=\"shiki shiki-themes dark-plus dark-plus\" style=\"background-color:#0B0C0E;--shiki-dark-bg:#0B0C0E;color:#D4D4D4;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"130\">\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"title\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example title\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_author\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> {}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_category\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> {}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"publishedAt\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"2026-10-24\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"slug\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"example-slug\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"visibility\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"public\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"scheduledPublish\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example scheduled publish\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"scheduledUnpublish\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example scheduled unpublish\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"excerpt\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example excerpt\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"featuredImage\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"metaType\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"area\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_id\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"clx8m2k4p0000a1b2c3d4e5f6\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"items\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"type\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"@apostrophecms/image\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_id\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"clx8m2k4p0000a1b2c3d4e5f6\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"metaType\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"widget\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_image\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> {}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"caption\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example caption\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"linkTo\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"none\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_apostrophecms-any-page-type\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> {}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"linkHref\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"https://acme.example/example\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"linkHrefTitle\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example link href title\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"linkTitle\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example link title\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"linkTarget\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\"> \"_blank\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"sectionCss\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"slots\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"key\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example value\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"css\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example css\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"mark\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example mark\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> ]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"main\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"metaType\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"area\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_id\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"clx8m2k4p0000a1b2c3d4e5f6\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"items\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"type\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"@apostrophecms/rich-text\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_id\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"clx8m2k4p0000a1b2c3d4e5f6\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"metaType\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"widget\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"content\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"\u0026#x3C;p>Hello from the API.\u0026#x3C;/p>\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"sectionCss\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"slots\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"css\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example css\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"mark\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example mark\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> ]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"afterContent\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"metaType\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"area\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_id\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"clx8m2k4p0000a1b2c3d4e5f6\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"items\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"type\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"@apostrophecms/layout\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_id\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"clx8m2k4p0000a1b2c3d4e5f6\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"metaType\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"widget\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"columns\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"metaType\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"area\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_id\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"clx8m2k4p0000a1b2c3d4e5f6\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"items\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: []\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"sectionCss\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"slots\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"css\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example css\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"mark\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example mark\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> ]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"postFontOverrides\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"seoTitle\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example seo title\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"seoDescription\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example seo description\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"seoImage\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"metaType\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"area\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_id\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"clx8m2k4p0000a1b2c3d4e5f6\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"items\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"type\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"@apostrophecms/image\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_id\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"clx8m2k4p0000a1b2c3d4e5f6\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"metaType\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"widget\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_image\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> {}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"caption\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example caption\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"linkTo\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"none\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_apostrophecms-any-page-type\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> {}\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"linkHref\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"https://acme.example/example\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"linkHrefTitle\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example link href title\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"linkTitle\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example link title\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"linkTarget\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: [\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\"> \"_blank\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> ],\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"sectionCss\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"slots\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"key\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example value\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"css\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example css\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"mark\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example mark\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> ]\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"archived\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#569CD6;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_id\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"clx8m2k4p0000a1b2c3d4e5f6\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"type\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"Example type\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"createdAt\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"2026-10-24T09:30:00.000Z\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"updatedAt\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"2026-10-24T09:30:00.000Z\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_url\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"https://acme.example/example\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_parentUrl\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"https://acme.example/example\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_parentSlug\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"example-slug\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"_parent\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: {},\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#9CDCFE;--shiki-dark:#9CDCFE\"> \"aposShareKey\"\u003c/span>\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#CE9178;--shiki-dark:#CE9178\">\"k3v9x2m7q1z8w4p6\"\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#D4D4D4;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}}},"jsLinks":["/_mintlify/custom/fetchski-attract-api/f59e82e583443cfa/reader-values.js"],"subdomain":"fetchski-attract-api","siteName":"Fetchski Attract Docs","title":"Publish a blog post - Fetchski Attract Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T10:18:45.519Z","originalFileLocation":"adonisjs/reference/blog-posts/publish-blog.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Publishes the draft: its content becomes the published document.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Fetchski Attract Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex, nofollow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fetchski-attract-api/70pYtWMpcnXR0SYV/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/fetchski-attract-api/70pYtWMpcnXR0SYV/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fetchski-attract-api/70pYtWMpcnXR0SYV/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fetchski-attract-api/70pYtWMpcnXR0SYV/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fetchski-attract-api/70pYtWMpcnXR0SYV/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fetchski-attract-api/70pYtWMpcnXR0SYV/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fetchski-attract-api/70pYtWMpcnXR0SYV/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fetchski-attract-api/70pYtWMpcnXR0SYV/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fetchski-attract-api/70pYtWMpcnXR0SYV/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Publish a blog post - Fetchski Attract Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Publishes the draft: its content becomes the published document.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Fetchski Attract Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fetchski-attract.com/adonisjs/reference/blog-posts/publish-blog\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://fetchski-attract-api.mintlify.site/_mintlify/api/og/v2?division=Publishing\u0026amp;title=Publish+a+blog+post\u0026amp;description=Publishes+the+draft%3A+its+content+becomes+the+published+document.\u0026amp;theme=0e1cff4688ef26ca6a5fb667\u0026amp;signature=d9ad38cceb482dba7ba4467261d55562f6c6d772b0f325cada6216a908251fc4\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Publish a blog post - Fetchski Attract Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Publishes the draft: its content becomes the published document.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://fetchski-attract-api.mintlify.site/_mintlify/api/og/v2?division=Publishing\u0026amp;title=Publish+a+blog+post\u0026amp;description=Publishes+the+draft%3A+its+content+becomes+the+published+document.\u0026amp;theme=0e1cff4688ef26ca6a5fb667\u0026amp;signature=d9ad38cceb482dba7ba4467261d55562f6c6d772b0f325cada6216a908251fc4\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/fetchski-attract-api/70pYtWMpcnXR0SYV/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Fetchski Attract Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16a34a\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fetchski-attract.com/adonisjs/reference/blog-posts/publish-blog\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/adonisjs/reference/blog-posts/publish-blog.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fetchski-attract.com/#organization\",\"name\":\"Fetchski Attract Docs\",\"url\":\"https://docs.fetchski-attract.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/fetchski-attract-api/mn9qfQRsqaASh7UE/logo/light.svg?fit=max\u0026auto=format\u0026n=mn9qfQRsqaASh7UE\u0026q=85\u0026s=66db13e248b70a44a5ff5f6990d4cb63\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fetchski-attract.com#website\",\"name\":\"Fetchski Attract Docs\",\"url\":\"https://docs.fetchski-attract.com\",\"publisher\":{\"@id\":\"https://docs.fetchski-attract.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fetchski-attract.com/adonisjs/reference/blog-posts/publish-blog#webpage\",\"url\":\"https://docs.fetchski-attract.com/adonisjs/reference/blog-posts/publish-blog\",\"name\":\"Publish a blog post\",\"description\":\"Publishes the draft: its content becomes the published document.\",\"dateModified\":\"2026-11-12T10:18:45.519Z\",\"isPartOf\":{\"@id\":\"https://docs.fetchski-attract.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fetchski-attract.com/adonisjs/reference/blog-posts/publish-blog#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fetchski-attract.com/adonisjs/reference/blog-posts/publish-blog#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Content\",\"item\":\"https://docs.fetchski-attract.com/adonisjs/reference/blog-posts/list-blogs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog Posts\",\"item\":\"https://docs.fetchski-attract.com/adonisjs/reference/blog-posts/list-blogs\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Publish a blog post\",\"item\":\"https://docs.fetchski-attract.com/adonisjs/reference/blog-posts/publish-blog\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.fetchski-attract.com/adonisjs/reference/blog-posts/publish-blog#article\",\"headline\":\"Publish a blog post\",\"name\":\"Publish a blog post\",\"description\":\"Publishes the draft: its content becomes the published document.\",\"url\":\"https://docs.fetchski-attract.com/adonisjs/reference/blog-posts/publish-blog\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fetchski-attract.com/adonisjs/reference/blog-posts/publish-blog#webpage\"},\"dateModified\":\"2026-11-12T10:18:45.519Z\",\"publisher\":{\"@id\":\"https://docs.fetchski-attract.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fetchski-attract.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Fetchski Attract Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Fetchski Attract Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/adonisjs/reference/blog-posts/publish-blog.md","siteName":"Fetchski Attract Docs","nav":{"global":null,"tabs":[{"tab":"Guides","icon":"book-open","pages":[{"title":"Guides","href":""}]},{"tab":"FetchskiAI","icon":"sparkles","pages":[{"title":"FetchskiAI","href":"/fetchskiai/overview"}]},{"tab":"Recipes","icon":"book-open","pages":[{"title":"Recipes","href":"/recipes/laravel-ai-translate-your-site"}]},{"tab":"TypeScript","icon":"js","pages":[{"title":"TypeScript","href":"/typescript/overview"}]},{"tab":"Laravel","icon":"laravel","pages":[{"title":"Laravel","href":"/laravel/overview"}]},{"tab":"AdonisJS","icon":"https://mintlify.s3.us-west-1.amazonaws.com/fetchski-attract-api/logo/adonisjs.svg","groups":[{"group":"Get started","icon":"rocket","pages":[{"title":"The SDK in AdonisJS","sidebarTitle":"Overview","icon":"https://mintlify.s3.us-west-1.amazonaws.com/fetchski-attract-api/logo/adonisjs.svg","href":"/adonisjs/overview"},{"title":"Installation","icon":"download","href":"/adonisjs/installation"},{"title":"Configuration","icon":"sliders","href":"/adonisjs/configuration"},{"title":"Key in the database","icon":"database","href":"/adonisjs/key-in-database"}]},{"group":"Using the SDK","icon":"code","pages":[{"title":"Calling the API","icon":"code","href":"/adonisjs/calling-the-api"},{"title":"Testing","icon":"vial","href":"/adonisjs/testing"}]},{"group":"Going further","icon":"rocket","pages":[{"title":"Ace commands","icon":"terminal","href":"/adonisjs/ace-commands"},{"title":"Jobs, cache and health","icon":"clock-rotate-left","href":"/adonisjs/background-work"}]},{"group":"Pages \u0026 Site","icon":"sitemap","pages":[{"group":"Pages","icon":"file-lines","pages":[{"title":"List pages","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/pages/list-pages"},{"title":"Get a page","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/pages/get-page"},{"title":"Create a page","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/pages/create-page"},{"title":"Update a page","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/pages/update-page"},{"title":"Replace a page","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/pages/replace-page"},{"title":"Delete a page","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/pages/delete-page"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a page","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/pages/publish-page"},{"title":"Unpublish a page","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/pages/unpublish-page"},{"title":"Submit a page for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/pages/submit-page"},{"title":"Dismiss a page’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/pages/dismiss-page-submission"},{"title":"Discard a page’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/pages/revert-page-draft-to-published"},{"title":"Restore a page’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/pages/revert-page-published-to-previous"},{"title":"Share a page’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/pages/share-page"},{"title":"Copy a page to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/pages/localize-page"},{"title":"List a page’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/pages/get-page-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish pages","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/pages/publish-pages"},{"title":"Archive pages","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/pages/archive-pages"},{"title":"Restore pages","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/pages/restore-pages"},{"title":"Copy pages to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/pages/localize-pages"}]}]},{"group":"Global Content","icon":"globe","pages":[{"title":"List global documents","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/global-content/list-global-content"},{"title":"Get a global document","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/global-content/get-global"},{"title":"Create a global document","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/global-content/create-global"},{"title":"Update a global document","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/global-content/update-global"},{"title":"Replace a global document","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/global-content/replace-global"},{"title":"Delete a global document","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/global-content/delete-global"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a global document","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/global-content/publish-global"},{"title":"Unpublish a global document","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/global-content/unpublish-global"},{"title":"Submit a global document for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/global-content/submit-global"},{"title":"Dismiss a global document’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/global-content/dismiss-global-submission"},{"title":"Discard a global document’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/global-content/revert-global-draft-to-published"},{"title":"Restore a global document’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/global-content/revert-global-published-to-previous"},{"title":"Share a global document’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/global-content/share-global"},{"title":"Copy a global document to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/global-content/localize-global"},{"title":"List a global document’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/global-content/get-global-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish global documents","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/global-content/publish-globals"},{"title":"Archive global documents","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/global-content/archive-globals"},{"title":"Restore global documents","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/global-content/restore-globals"},{"title":"Copy global documents to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/global-content/localize-globals"}]}]},{"group":"Redirects","icon":"arrow-right-arrow-left","pages":[{"title":"List redirects","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/redirects/list-redirects"},{"title":"Get a redirect","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/redirects/get-redirect"},{"title":"Create a redirect","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/redirects/create-redirect"},{"title":"Update a redirect","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/redirects/update-redirect"},{"title":"Replace a redirect","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/redirects/replace-redirect"},{"title":"Delete a redirect","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/redirects/delete-redirect"},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Archive redirects","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/redirects/archive-redirects"},{"title":"Restore redirects","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/redirects/restore-redirects"}]}]},{"group":"Internationalization","icon":"language","pages":[{"title":"List the site’s languages","sidebarTitle":"List the site’s languages","icon":"magnifying-glass","href":"/adonisjs/reference/internationalization/get-locales"},{"title":"Get locale path and manage clipboard","sidebarTitle":"Get locale path and manage clipboard","icon":"bolt","href":"/adonisjs/reference/internationalization/switch-locale"},{"title":"Check document existence in locale","sidebarTitle":"Check document existence in locale","icon":"bolt","href":"/adonisjs/reference/internationalization/exist-in-locale"}]},{"group":"Languages","icon":"language","pages":[{"title":"List language lists","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/languages/list-site-languages"},{"title":"Get a language list","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/languages/get-site-languages"},{"title":"Update a language list","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/languages/update-site-languages"},{"title":"Replace a language list","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/languages/replace-site-languages"},{"title":"List the Global fields each language translates","sidebarTitle":"List the Global fields each language translates","icon":"magnifying-glass","href":"/adonisjs/reference/languages/get-global-translated-fields"}]},{"group":"Page Templates","icon":"table-columns","pages":[{"title":"Get a page template","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/page-templates/get-page-template"},{"title":"List the page templates","sidebarTitle":"List the page templates","icon":"magnifying-glass","href":"/adonisjs/reference/page-templates/list-page-templates"}]}]},{"group":"Content","icon":"newspaper","pages":[{"group":"Blog Posts","icon":"newspaper","pages":[{"title":"List blog posts","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/blog-posts/list-blogs"},{"title":"Get a blog post","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/blog-posts/get-blog"},{"title":"Create a blog post","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/blog-posts/create-blog"},{"title":"Update a blog post","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/blog-posts/update-blog"},{"title":"Replace a blog post","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/blog-posts/replace-blog"},{"title":"Delete a blog post","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/blog-posts/delete-blog"},{"title":"Get the Markdown template","sidebarTitle":"Get the Markdown template","icon":"magnifying-glass","href":"/adonisjs/reference/blog-posts/get-blog-markdown-template"},{"title":"Get the MDX template","sidebarTitle":"Get the MDX template","icon":"magnifying-glass","href":"/adonisjs/reference/blog-posts/get-blog-mdx-template"},{"title":"Check a document before importing it","sidebarTitle":"Check a document before importing it","icon":"bolt","href":"/adonisjs/reference/blog-posts/validate-blog-import"},{"title":"Import a post from Markdown or MDX","sidebarTitle":"Import a post from Markdown or MDX","description":"Creates a blog post from a Markdown or MDX document with front matter.","icon":"bolt","href":"/adonisjs/reference/blog-posts/import-blog-post"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a blog post","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/blog-posts/publish-blog"},{"title":"Unpublish a blog post","sidebarTitle":"Unpublish","description":"Removes the published document; the draft stays.","icon":"eye-slash","href":"/adonisjs/reference/blog-posts/unpublish-blog"},{"title":"Submit a blog post for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/blog-posts/submit-blog"},{"title":"Dismiss a blog post’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/blog-posts/dismiss-blog-submission"},{"title":"Discard a blog post’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/blog-posts/revert-blog-draft-to-published"},{"title":"Restore a blog post’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/blog-posts/revert-blog-published-to-previous"},{"title":"Share a blog post’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/blog-posts/share-blog"},{"title":"Copy a blog post to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/blog-posts/localize-blog"},{"title":"List a blog post’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/blog-posts/get-blog-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish blog posts","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/blog-posts/publish-blogs"},{"title":"Archive blog posts","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/blog-posts/archive-blogs"},{"title":"Restore blog posts","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/blog-posts/restore-blogs"},{"title":"Copy blog posts to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/blog-posts/localize-blogs"}]}]},{"group":"Blog Categories","icon":"folder-tree","pages":[{"title":"List blog categories","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/blog-categories/list-blog-categories"},{"title":"Get a blog category","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/blog-categories/get-blog-category"},{"title":"Create a blog category","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/blog-categories/create-blog-category"},{"title":"Update a blog category","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/blog-categories/update-blog-category"},{"title":"Replace a blog category","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/blog-categories/replace-blog-category"},{"title":"Delete a blog category","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/blog-categories/delete-blog-category"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a blog category","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/blog-categories/publish-blog-category"},{"title":"Unpublish a blog category","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/blog-categories/unpublish-blog-category"},{"title":"Submit a blog category for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/blog-categories/submit-blog-category"},{"title":"Dismiss a blog category’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/blog-categories/dismiss-blog-category-submission"},{"title":"Discard a blog category’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/blog-categories/revert-blog-category-draft-to-published"},{"title":"Restore a blog category’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/blog-categories/revert-blog-category-published-to-previous"},{"title":"Share a blog category’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/blog-categories/share-blog-category"},{"title":"Copy a blog category to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/blog-categories/localize-blog-category"},{"title":"List a blog category’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/blog-categories/get-blog-category-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish blog categories","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/blog-categories/publish-blog-categories"},{"title":"Archive blog categories","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/blog-categories/archive-blog-categories"},{"title":"Restore blog categories","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/blog-categories/restore-blog-categories"},{"title":"Copy blog categories to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/blog-categories/localize-blog-categories"}]}]},{"group":"Authors","icon":"pen-nib","pages":[{"title":"List authors","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/authors/list-authors"},{"title":"Get an author","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/authors/get-author"},{"title":"Create an author","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/authors/create-author"},{"title":"Update an author","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/authors/update-author"},{"title":"Replace an author","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/authors/replace-author"},{"title":"Delete an author","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/authors/delete-author"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish an author","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/authors/publish-author"},{"title":"Unpublish an author","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/authors/unpublish-author"},{"title":"Submit an author for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/authors/submit-author"},{"title":"Dismiss an author’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/authors/dismiss-author-submission"},{"title":"Discard an author’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/authors/revert-author-draft-to-published"},{"title":"Restore an author’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/authors/revert-author-published-to-previous"},{"title":"Share an author’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/authors/share-author"},{"title":"Copy an author to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/authors/localize-author"},{"title":"List an author’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/authors/get-author-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish authors","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/authors/publish-authors"},{"title":"Archive authors","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/authors/archive-authors"},{"title":"Restore authors","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/authors/restore-authors"},{"title":"Copy authors to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/authors/localize-authors"}]}]},{"group":"Team Members","icon":"user-group","pages":[{"title":"List team members","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/team-members/list-team-members"},{"title":"Get a team member","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/team-members/get-team-member"},{"title":"Create a team member","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/team-members/create-team-member"},{"title":"Update a team member","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/team-members/update-team-member"},{"title":"Replace a team member","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/team-members/replace-team-member"},{"title":"Delete a team member","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/team-members/delete-team-member"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a team member","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/team-members/publish-team-member"},{"title":"Unpublish a team member","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/team-members/unpublish-team-member"},{"title":"Submit a team member for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/team-members/submit-team-member"},{"title":"Dismiss a team member’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/team-members/dismiss-team-member-submission"},{"title":"Discard a team member’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/team-members/revert-team-member-draft-to-published"},{"title":"Restore a team member’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/team-members/revert-team-member-published-to-previous"},{"title":"Share a team member’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/team-members/share-team-member"},{"title":"Copy a team member to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/team-members/localize-team-member"},{"title":"List a team member’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/team-members/get-team-member-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish team members","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/team-members/publish-team-members"},{"title":"Archive team members","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/team-members/archive-team-members"},{"title":"Restore team members","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/team-members/restore-team-members"},{"title":"Copy team members to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/team-members/localize-team-members"}]}]},{"group":"Testimonials","icon":"quote-left","pages":[{"title":"List testimonials","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/testimonials/list-testimonials"},{"title":"Get a testimonial","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/testimonials/get-testimonial"},{"title":"Create a testimonial","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/testimonials/create-testimonial"},{"title":"Update a testimonial","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/testimonials/update-testimonial"},{"title":"Replace a testimonial","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/testimonials/replace-testimonial"},{"title":"Delete a testimonial","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/testimonials/delete-testimonial"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a testimonial","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/testimonials/publish-testimonial"},{"title":"Unpublish a testimonial","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/testimonials/unpublish-testimonial"},{"title":"Submit a testimonial for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/testimonials/submit-testimonial"},{"title":"Dismiss a testimonial’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/testimonials/dismiss-testimonial-submission"},{"title":"Discard a testimonial’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/testimonials/revert-testimonial-draft-to-published"},{"title":"Restore a testimonial’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/testimonials/revert-testimonial-published-to-previous"},{"title":"Share a testimonial’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/testimonials/share-testimonial"},{"title":"Copy a testimonial to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/testimonials/localize-testimonial"},{"title":"List a testimonial’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/testimonials/get-testimonial-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish testimonials","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/testimonials/publish-testimonials"},{"title":"Archive testimonials","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/testimonials/archive-testimonials"},{"title":"Restore testimonials","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/testimonials/restore-testimonials"},{"title":"Copy testimonials to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/testimonials/localize-testimonials"}]}]},{"group":"FAQ Items","icon":"circle-question","pages":[{"title":"List FAQ items","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/faq-items/list-faq-items"},{"title":"Get an FAQ item","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/faq-items/get-faq-item"},{"title":"Create an FAQ item","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/faq-items/create-faq-item"},{"title":"Update an FAQ item","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/faq-items/update-faq-item"},{"title":"Replace an FAQ item","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/faq-items/replace-faq-item"},{"title":"Delete an FAQ item","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/faq-items/delete-faq-item"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish an FAQ item","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/faq-items/publish-faq-item"},{"title":"Unpublish an FAQ item","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/faq-items/unpublish-faq-item"},{"title":"Submit an FAQ item for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/faq-items/submit-faq-item"},{"title":"Dismiss an FAQ item’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/faq-items/dismiss-faq-item-submission"},{"title":"Discard an FAQ item’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/faq-items/revert-faq-item-draft-to-published"},{"title":"Restore an FAQ item’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/faq-items/revert-faq-item-published-to-previous"},{"title":"Share an FAQ item’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/faq-items/share-faq-item"},{"title":"Copy an FAQ item to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/faq-items/localize-faq-item"},{"title":"List an FAQ item’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/faq-items/get-faq-item-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish FAQ items","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/faq-items/publish-faq-items"},{"title":"Archive FAQ items","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/faq-items/archive-faq-items"},{"title":"Restore FAQ items","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/faq-items/restore-faq-items"},{"title":"Copy FAQ items to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/faq-items/localize-faq-items"}]}]},{"group":"FAQ Categories","icon":"layer-group","pages":[{"title":"List FAQ categories","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/faq-categories/list-faq-categories"},{"title":"Get an FAQ category","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/faq-categories/get-faq-category"},{"title":"Create an FAQ category","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/faq-categories/create-faq-category"},{"title":"Update an FAQ category","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/faq-categories/update-faq-category"},{"title":"Replace an FAQ category","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/faq-categories/replace-faq-category"},{"title":"Delete an FAQ category","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/faq-categories/delete-faq-category"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish an FAQ category","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/faq-categories/publish-faq-category"},{"title":"Unpublish an FAQ category","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/faq-categories/unpublish-faq-category"},{"title":"Submit an FAQ category for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/faq-categories/submit-faq-category"},{"title":"Dismiss an FAQ category’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/faq-categories/dismiss-faq-category-submission"},{"title":"Discard an FAQ category’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/faq-categories/revert-faq-category-draft-to-published"},{"title":"Restore an FAQ category’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/faq-categories/revert-faq-category-published-to-previous"},{"title":"Share an FAQ category’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/faq-categories/share-faq-category"},{"title":"Copy an FAQ category to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/faq-categories/localize-faq-category"},{"title":"List an FAQ category’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/faq-categories/get-faq-category-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish FAQ categories","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/faq-categories/publish-faq-categories"},{"title":"Archive FAQ categories","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/faq-categories/archive-faq-categories"},{"title":"Restore FAQ categories","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/faq-categories/restore-faq-categories"},{"title":"Copy FAQ categories to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/faq-categories/localize-faq-categories"}]}]},{"group":"Google Reviews","icon":"star","pages":[{"title":"List Google reviews","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/google-reviews/list-google-reviews"},{"title":"Get a Google review","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/google-reviews/get-google-review"},{"title":"Create a Google review","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/google-reviews/create-google-review"},{"title":"Update a Google review","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/google-reviews/update-google-review"},{"title":"Replace a Google review","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/google-reviews/replace-google-review"},{"title":"Delete a Google review","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/google-reviews/delete-google-review"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a Google review","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/google-reviews/publish-google-review"},{"title":"Unpublish a Google review","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/google-reviews/unpublish-google-review"},{"title":"Submit a Google review for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/google-reviews/submit-google-review"},{"title":"Dismiss a Google review’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/google-reviews/dismiss-google-review-submission"},{"title":"Discard a Google review’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/google-reviews/revert-google-review-draft-to-published"},{"title":"Restore a Google review’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/google-reviews/revert-google-review-published-to-previous"},{"title":"Share a Google review’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/google-reviews/share-google-review"},{"title":"Copy a Google review to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/google-reviews/localize-google-review"},{"title":"List a Google review’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/google-reviews/get-google-review-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish Google reviews","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/google-reviews/publish-google-reviews"},{"title":"Archive Google reviews","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/google-reviews/archive-google-reviews"},{"title":"Restore Google reviews","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/google-reviews/restore-google-reviews"},{"title":"Copy Google reviews to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/google-reviews/localize-google-reviews"}]}]},{"group":"Instagram Posts","icon":"instagram","pages":[{"title":"List Instagram posts","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/instagram-posts/list-instagram-posts"},{"title":"Get an Instagram post","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/instagram-posts/get-instagram-post"},{"title":"Create an Instagram post","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/instagram-posts/create-instagram-post"},{"title":"Update an Instagram post","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/instagram-posts/update-instagram-post"},{"title":"Replace an Instagram post","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/instagram-posts/replace-instagram-post"},{"title":"Delete an Instagram post","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/instagram-posts/delete-instagram-post"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish an Instagram post","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/instagram-posts/publish-instagram-post"},{"title":"Unpublish an Instagram post","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/instagram-posts/unpublish-instagram-post"},{"title":"Submit an Instagram post for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/instagram-posts/submit-instagram-post"},{"title":"Dismiss an Instagram post’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/instagram-posts/dismiss-instagram-post-submission"},{"title":"Discard an Instagram post’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/instagram-posts/revert-instagram-post-draft-to-published"},{"title":"Restore an Instagram post’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/instagram-posts/revert-instagram-post-published-to-previous"},{"title":"Share an Instagram post’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/instagram-posts/share-instagram-post"},{"title":"Copy an Instagram post to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/instagram-posts/localize-instagram-post"},{"title":"List an Instagram post’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/instagram-posts/get-instagram-post-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish Instagram posts","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/instagram-posts/publish-instagram-posts"},{"title":"Archive Instagram posts","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/instagram-posts/archive-instagram-posts"},{"title":"Restore Instagram posts","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/instagram-posts/restore-instagram-posts"},{"title":"Copy Instagram posts to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/instagram-posts/localize-instagram-posts"}]}]},{"group":"Service Areas","icon":"map-location-dot","pages":[{"title":"List service areas","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/service-areas/list-service-areas"},{"title":"Get a service area","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/service-areas/get-service-area"},{"title":"Create a service area","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/service-areas/create-service-area"},{"title":"Update a service area","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/service-areas/update-service-area"},{"title":"Replace a service area","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/service-areas/replace-service-area"},{"title":"Delete a service area","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/service-areas/delete-service-area"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a service area","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/service-areas/publish-service-area"},{"title":"Unpublish a service area","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/service-areas/unpublish-service-area"},{"title":"Submit a service area for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/service-areas/submit-service-area"},{"title":"Dismiss a service area’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/service-areas/dismiss-service-area-submission"},{"title":"Discard a service area’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/service-areas/revert-service-area-draft-to-published"},{"title":"Restore a service area’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/service-areas/revert-service-area-published-to-previous"},{"title":"Share a service area’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/service-areas/share-service-area"},{"title":"Copy a service area to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/service-areas/localize-service-area"},{"title":"List a service area’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/service-areas/get-service-area-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish service areas","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/service-areas/publish-service-areas"},{"title":"Archive service areas","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/service-areas/archive-service-areas"},{"title":"Restore service areas","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/service-areas/restore-service-areas"},{"title":"Copy service areas to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/service-areas/localize-service-areas"}]}]},{"group":"Cookies","icon":"cookie-bite","pages":[{"title":"List cookies","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/cookies/list-cookies"},{"title":"Get a cookie","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/cookies/get-cookie"},{"title":"Create a cookie","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/cookies/create-cookie"},{"title":"Update a cookie","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/cookies/update-cookie"},{"title":"Replace a cookie","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/cookies/replace-cookie"},{"title":"Delete a cookie","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/cookies/delete-cookie"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a cookie","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/cookies/publish-cookie"},{"title":"Unpublish a cookie","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/cookies/unpublish-cookie"},{"title":"Submit a cookie for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/cookies/submit-cookie"},{"title":"Dismiss a cookie’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/cookies/dismiss-cookie-submission"},{"title":"Discard a cookie’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/cookies/revert-cookie-draft-to-published"},{"title":"Restore a cookie’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/cookies/revert-cookie-published-to-previous"},{"title":"Share a cookie’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/cookies/share-cookie"},{"title":"Copy a cookie to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/cookies/localize-cookie"},{"title":"List a cookie’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/cookies/get-cookie-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish cookies","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/cookies/publish-cookies"},{"title":"Archive cookies","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/cookies/archive-cookies"},{"title":"Restore cookies","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/cookies/restore-cookies"},{"title":"Copy cookies to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/cookies/localize-cookies"}]}]}]},{"group":"Media","icon":"photo-film","pages":[{"group":"Media","icon":"photo-film","pages":[{"group":"Images","icon":"image","pages":[{"title":"List images","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/media/list-images"},{"title":"Get an image","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/media/get-image"},{"title":"Create an image","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/media/create-image"},{"title":"Update an image","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/media/update-image"},{"title":"Replace an image","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/media/replace-image"},{"title":"Delete an image","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/media/delete-image"},{"title":"Crop images to a widget’s aspect ratio","sidebarTitle":"Crop images to a widget’s aspect ratio","icon":"bolt","href":"/adonisjs/reference/media/autocrop-images"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish an image","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/media/publish-image"},{"title":"Unpublish an image","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/media/unpublish-image"},{"title":"Submit an image for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/media/submit-image"},{"title":"Dismiss an image’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/media/dismiss-image-submission"},{"title":"Discard an image’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/media/revert-image-draft-to-published"},{"title":"Restore an image’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/media/revert-image-published-to-previous"},{"title":"Share an image’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/media/share-image"},{"title":"Copy an image to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/media/localize-image"},{"title":"List an image’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/media/get-image-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish images","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/media/publish-images"},{"title":"Archive images","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/media/archive-images"},{"title":"Restore images","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/media/restore-images"},{"title":"Copy images to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/media/localize-images"},{"title":"Tag or untag images","sidebarTitle":"Tag many","icon":"tags","href":"/adonisjs/reference/media/tag-images"}]}]},{"group":"Files","icon":"file","pages":[{"title":"List files","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/media/list-files"},{"title":"Get a file","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/media/get-file"},{"title":"Create a file","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/media/create-file"},{"title":"Update a file","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/media/update-file"},{"title":"Replace a file","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/media/replace-file"},{"title":"Delete a file","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/media/delete-file"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a file","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/media/publish-file"},{"title":"Unpublish a file","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/media/unpublish-file"},{"title":"Submit a file for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/media/submit-file"},{"title":"Dismiss a file’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/media/dismiss-file-submission"},{"title":"Discard a file’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/media/revert-file-draft-to-published"},{"title":"Restore a file’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/media/revert-file-published-to-previous"},{"title":"Share a file’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/media/share-file"},{"title":"Copy a file to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/media/localize-file"},{"title":"List a file’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/media/get-file-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish files","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/media/publish-files"},{"title":"Archive files","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/media/archive-files"},{"title":"Restore files","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/media/restore-files"},{"title":"Copy files to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/media/localize-files"}]}]},{"group":"Image tags","icon":"tag","pages":[{"title":"List image tags","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/media/list-image-tags"},{"title":"Get an image tag","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/media/get-image-tag"},{"title":"Create an image tag","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/media/create-image-tag"},{"title":"Update an image tag","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/media/update-image-tag"},{"title":"Replace an image tag","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/media/replace-image-tag"},{"title":"Delete an image tag","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/media/delete-image-tag"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish an image tag","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/media/publish-image-tag"},{"title":"Unpublish an image tag","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/media/unpublish-image-tag"},{"title":"Submit an image tag for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/media/submit-image-tag"},{"title":"Dismiss an image tag’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/media/dismiss-image-tag-submission"},{"title":"Discard an image tag’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/media/revert-image-tag-draft-to-published"},{"title":"Restore an image tag’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/media/revert-image-tag-published-to-previous"},{"title":"Share an image tag’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/media/share-image-tag"},{"title":"Copy an image tag to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/media/localize-image-tag"},{"title":"List an image tag’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/media/get-image-tag-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish image tags","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/media/publish-image-tags"},{"title":"Archive image tags","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/media/archive-image-tags"},{"title":"Restore image tags","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/media/restore-image-tags"},{"title":"Copy image tags to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/media/localize-image-tags"}]}]},{"group":"File tags","icon":"tags","pages":[{"title":"List file tags","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/media/list-file-tags"},{"title":"Get a file tag","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/media/get-file-tag"},{"title":"Create a file tag","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/media/create-file-tag"},{"title":"Update a file tag","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/media/update-file-tag"},{"title":"Replace a file tag","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/media/replace-file-tag"},{"title":"Delete a file tag","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/media/delete-file-tag"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a file tag","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/media/publish-file-tag"},{"title":"Unpublish a file tag","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/media/unpublish-file-tag"},{"title":"Submit a file tag for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/media/submit-file-tag"},{"title":"Dismiss a file tag’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/media/dismiss-file-tag-submission"},{"title":"Discard a file tag’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/media/revert-file-tag-draft-to-published"},{"title":"Restore a file tag’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/media/revert-file-tag-published-to-previous"},{"title":"Share a file tag’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/media/share-file-tag"},{"title":"Copy a file tag to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/media/localize-file-tag"},{"title":"List a file tag’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/media/get-file-tag-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish file tags","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/media/publish-file-tags"},{"title":"Archive file tags","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/media/archive-file-tags"},{"title":"Restore file tags","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/media/restore-file-tags"},{"title":"Copy file tags to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/media/localize-file-tags"}]}]}]},{"group":"Videos","icon":"video","pages":[{"title":"List videos","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/videos/list-videos"},{"title":"Get a video","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/videos/get-video"},{"title":"Create a video","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/videos/create-video"},{"title":"Update a video","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/videos/update-video"},{"title":"Replace a video","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/videos/replace-video"},{"title":"Delete a video","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/videos/delete-video"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a video","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/videos/publish-video"},{"title":"Unpublish a video","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/videos/unpublish-video"},{"title":"Submit a video for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/videos/submit-video"},{"title":"Dismiss a video’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/videos/dismiss-video-submission"},{"title":"Discard a video’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/videos/revert-video-draft-to-published"},{"title":"Restore a video’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/videos/revert-video-published-to-previous"},{"title":"Share a video’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/videos/share-video"},{"title":"Copy a video to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/videos/localize-video"},{"title":"List a video’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/videos/get-video-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish videos","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/videos/publish-videos"},{"title":"Archive videos","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/videos/archive-videos"},{"title":"Restore videos","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/videos/restore-videos"},{"title":"Copy videos to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/videos/localize-videos"}]}]},{"group":"Image Folders","icon":"folder-open","pages":[{"title":"List image folders","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/image-folders/list-image-folders"},{"title":"Get an image folder","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/image-folders/get-image-folder"},{"title":"Create an image folder","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/image-folders/create-image-folder"},{"title":"Update an image folder","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/image-folders/update-image-folder"},{"title":"Replace an image folder","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/image-folders/replace-image-folder"},{"title":"Delete an image folder","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/image-folders/delete-image-folder"},{"title":"Get the image folder tree","sidebarTitle":"Get the image folder tree","icon":"magnifying-glass","href":"/adonisjs/reference/image-folders/get-image-folder-tree"},{"title":"List a folder’s photos","sidebarTitle":"List a folder’s photos","icon":"magnifying-glass","href":"/adonisjs/reference/image-folders/list-image-folder-photos"},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Archive image folders","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/image-folders/archive-image-folders"},{"title":"Restore image folders","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/image-folders/restore-image-folders"}]}]},{"group":"File Folders","icon":"folder","pages":[{"title":"List file folders","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/file-folders/list-file-folders"},{"title":"Get a file folder","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/file-folders/get-file-folder"},{"title":"Create a file folder","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/file-folders/create-file-folder"},{"title":"Update a file folder","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/file-folders/update-file-folder"},{"title":"Replace a file folder","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/file-folders/replace-file-folder"},{"title":"Delete a file folder","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/file-folders/delete-file-folder"},{"title":"Get the file folder tree","sidebarTitle":"Get the file folder tree","icon":"magnifying-glass","href":"/adonisjs/reference/file-folders/get-file-folder-tree"},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Archive file folders","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/file-folders/archive-file-folders"},{"title":"Restore file folders","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/file-folders/restore-file-folders"}]}]},{"group":"Video Folders","icon":"folder-closed","pages":[{"title":"List video folders","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/video-folders/list-video-folders"},{"title":"Get a video folder","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/video-folders/get-video-folder"},{"title":"Create a video folder","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/video-folders/create-video-folder"},{"title":"Update a video folder","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/video-folders/update-video-folder"},{"title":"Replace a video folder","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/video-folders/replace-video-folder"},{"title":"Delete a video folder","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/video-folders/delete-video-folder"},{"title":"Get the video folder tree","sidebarTitle":"Get the video folder tree","icon":"magnifying-glass","href":"/adonisjs/reference/video-folders/get-video-folder-tree"},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Archive video folders","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/video-folders/archive-video-folders"},{"title":"Restore video folders","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/video-folders/restore-video-folders"}]}]},{"group":"Photo Albums","icon":"images","pages":[{"title":"List photo albums","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/photo-albums/list-photo-albums"},{"title":"Get a photo album","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/photo-albums/get-photo-album"},{"title":"Create a photo album","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/photo-albums/create-photo-album"},{"title":"Update a photo album","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/photo-albums/update-photo-album"},{"title":"Replace a photo album","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/photo-albums/replace-photo-album"},{"title":"Delete a photo album","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/photo-albums/delete-photo-album"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a photo album","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/photo-albums/publish-photo-album"},{"title":"Unpublish a photo album","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/photo-albums/unpublish-photo-album"},{"title":"Submit a photo album for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/photo-albums/submit-photo-album"},{"title":"Dismiss a photo album’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/photo-albums/dismiss-photo-album-submission"},{"title":"Discard a photo album’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/photo-albums/revert-photo-album-draft-to-published"},{"title":"Restore a photo album’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/photo-albums/revert-photo-album-published-to-previous"},{"title":"Share a photo album’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/photo-albums/share-photo-album"},{"title":"Copy a photo album to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/photo-albums/localize-photo-album"},{"title":"List a photo album’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/photo-albums/get-photo-album-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish photo albums","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/photo-albums/publish-photo-albums"},{"title":"Archive photo albums","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/photo-albums/archive-photo-albums"},{"title":"Restore photo albums","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/photo-albums/restore-photo-albums"},{"title":"Copy photo albums to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/photo-albums/localize-photo-albums"}]}]},{"group":"Photo Feeds","icon":"rss","pages":[{"title":"List photo feeds","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/photo-feeds/list-photo-feeds"},{"title":"Get a photo feed","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/photo-feeds/get-photo-feed"},{"title":"Create a photo feed","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/photo-feeds/create-photo-feed"},{"title":"Update a photo feed","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/photo-feeds/update-photo-feed"},{"title":"Replace a photo feed","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/photo-feeds/replace-photo-feed"},{"title":"Delete a photo feed","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/photo-feeds/delete-photo-feed"},{"title":"List a feed’s photos","sidebarTitle":"List a feed’s photos","icon":"magnifying-glass","href":"/adonisjs/reference/photo-feeds/list-photo-feed-photos"},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Archive photo feeds","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/photo-feeds/archive-photo-feeds"},{"title":"Restore photo feeds","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/photo-feeds/restore-photo-feeds"}]}]},{"group":"Attachments","icon":"paperclip","pages":[{"title":"Upload media file","sidebarTitle":"Upload media file","icon":"bolt","href":"/adonisjs/reference/attachments/upload-attachment"},{"title":"Crop image attachment","sidebarTitle":"Crop image attachment","icon":"bolt","href":"/adonisjs/reference/attachments/crop-attachment"}]},{"group":"Fetchski Media","icon":"image","pages":[{"title":"List images","sidebarTitle":"List images","icon":"magnifying-glass","href":"/adonisjs/reference/fetchski-media/list-media-images"},{"title":"List videos","sidebarTitle":"List videos","icon":"magnifying-glass","href":"/adonisjs/reference/fetchski-media/list-media-videos"},{"title":"Get one image","sidebarTitle":"Get one image","icon":"magnifying-glass","href":"/adonisjs/reference/fetchski-media/get-media-image"},{"title":"Get one video","sidebarTitle":"Get one video","icon":"magnifying-glass","href":"/adonisjs/reference/fetchski-media/get-media-video"}]}]},{"group":"Forms","icon":"clipboard-list","pages":[{"group":"Forms","icon":"clipboard-list","pages":[{"title":"List forms","sidebarTitle":"List","icon":"list","href":"/adonisjs/reference/forms/list-forms"},{"title":"Get a form","sidebarTitle":"Get","icon":"eye","href":"/adonisjs/reference/forms/get-form"},{"title":"Create a form","sidebarTitle":"Create","icon":"plus","href":"/adonisjs/reference/forms/create-form"},{"title":"Update a form","sidebarTitle":"Update","icon":"pen","href":"/adonisjs/reference/forms/update-form"},{"title":"Replace a form","sidebarTitle":"Replace","icon":"arrows-rotate","href":"/adonisjs/reference/forms/replace-form"},{"title":"Delete a form","sidebarTitle":"Delete","icon":"trash","href":"/adonisjs/reference/forms/delete-form"},{"group":"Publishing","icon":"paper-plane","pages":[{"title":"Publish a form","sidebarTitle":"Publish","icon":"paper-plane","href":"/adonisjs/reference/forms/publish-form"},{"title":"Unpublish a form","sidebarTitle":"Unpublish","icon":"eye-slash","href":"/adonisjs/reference/forms/unpublish-form"},{"title":"Submit a form for review","sidebarTitle":"Submit for review","icon":"clipboard-check","href":"/adonisjs/reference/forms/submit-form"},{"title":"Dismiss a form’s review submission","sidebarTitle":"Dismiss a submission","icon":"xmark","href":"/adonisjs/reference/forms/dismiss-form-submission"},{"title":"Discard a form’s draft changes","sidebarTitle":"Discard draft changes","icon":"rotate-left","href":"/adonisjs/reference/forms/revert-form-draft-to-published"},{"title":"Restore a form’s previous publish","sidebarTitle":"Restore previous publish","icon":"clock-rotate-left","href":"/adonisjs/reference/forms/revert-form-published-to-previous"},{"title":"Share a form’s draft","sidebarTitle":"Share the draft","icon":"share-nodes","href":"/adonisjs/reference/forms/share-form"},{"title":"Copy a form to another locale","sidebarTitle":"Copy to a locale","icon":"language","href":"/adonisjs/reference/forms/localize-form"},{"title":"List a form’s locales","sidebarTitle":"List locales","icon":"globe","href":"/adonisjs/reference/forms/get-form-locales"}]},{"group":"Batch jobs","icon":"layer-group","pages":[{"title":"Publish forms","sidebarTitle":"Publish many","icon":"paper-plane","href":"/adonisjs/reference/forms/publish-forms"},{"title":"Archive forms","sidebarTitle":"Archive many","icon":"box-archive","href":"/adonisjs/reference/forms/archive-forms"},{"title":"Restore forms","sidebarTitle":"Restore many","icon":"box-open","href":"/adonisjs/reference/forms/restore-forms"},{"title":"Copy forms to another locale","sidebarTitle":"Copy many to a locale","icon":"language","href":"/adonisjs/reference/forms/localize-forms"}]}]},{"group":"Form Submissions","icon":"inbox","pages":[{"title":"List forms and their submission counts","sidebarTitle":"List forms and their submission counts","icon":"magnifying-glass","href":"/adonisjs/reference/form-submissions/list-submission-forms"},{"title":"List a form’s submissions","sidebarTitle":"List a form’s submissions","icon":"magnifying-glass","href":"/adonisjs/reference/form-submissions/list-form-submissions"},{"title":"Export a form’s submissions as CSV","sidebarTitle":"Export a form’s submissions as CSV","icon":"magnifying-glass","href":"/adonisjs/reference/form-submissions/export-form-submissions"}]}]},{"group":"Ads \u0026 Conversions","icon":"chart-line","pages":[{"group":"Conversion Events","icon":"bolt","pages":[{"title":"List conversion events (incremental sync)","sidebarTitle":"List conversion events (incremental sync)","icon":"magnifying-glass","href":"/adonisjs/reference/conversion-events/list-conversion-events"},{"title":"Get one conversion event","sidebarTitle":"Get one conversion event","icon":"magnifying-glass","href":"/adonisjs/reference/conversion-events/get-conversion-event"},{"title":"Post a conversion another system saw","sidebarTitle":"Post a conversion another system saw","icon":"bolt","href":"/adonisjs/reference/conversion-events/create-external-conversion-event"},{"title":"Retract or restate a conversion event","sidebarTitle":"Retract or restate a conversion event","icon":"bolt","href":"/adonisjs/reference/conversion-events/adjust-conversion-event"}]},{"group":"Visitor Attribution","icon":"route","pages":[{"title":"Find visitors by an identifier","sidebarTitle":"Find visitors by an identifier","icon":"magnifying-glass","href":"/adonisjs/reference/visitor-attribution/find-visitor-attributions"},{"title":"Get one visitor’s attribution","sidebarTitle":"Get one visitor’s attribution","icon":"magnifying-glass","href":"/adonisjs/reference/visitor-attribution/get-visitor-attribution"}]},{"group":"Ads Metrics","icon":"chart-column","pages":[{"title":"Ad-click landings and conversions, aggregated","sidebarTitle":"Ad-click landings and conversions, aggregated","icon":"magnifying-glass","href":"/adonisjs/reference/ads-metrics/get-ads-metrics"}]},{"group":"Conversions","icon":"bullseye","pages":[{"title":"Conversions the page can fire (public)","sidebarTitle":"Conversions the page can fire (public)","icon":"magnifying-glass","href":"/adonisjs/reference/conversions/list-active-conversions"},{"title":"List the enabled Conversions","sidebarTitle":"List the enabled Conversions","icon":"magnifying-glass","href":"/adonisjs/reference/conversions/list-conversion-definitions"}]}]},{"group":"Analytics","icon":"chart-simple","pages":[{"title":"List captured page views","sidebarTitle":"List captured page views","icon":"magnifying-glass","href":"/adonisjs/reference/request-log/list-request-log-entries"},{"title":"List captured query parameters","sidebarTitle":"List captured query parameters","icon":"magnifying-glass","href":"/adonisjs/reference/request-log/list-request-log-params"}]}]},{"tab":"API reference","icon":"code","pages":[{"title":"API reference","href":"/quickstart"}]}]},"basePath":"","title":"Publish a blog post - Fetchski Attract Docs","buildId":"dpl_5joLUXmnJgwqjrHAS4dxZrQTdxgh","deploymentId":"dpl_5joLUXmnJgwqjrHAS4dxZrQTdxgh","dynamics":["2b790eda92"],"chunks":["ApiExamples-CjwVt80x.js","utils-DyjUHyLo.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","cloneDeep-izs3Hzxb.js","utils-BWYE1cdS.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ByHQMk7z.js","shallow-CaZuw1AO.js","snippetPresets-DNiD_S52.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","getApiPlaygroundDisplay-DPVPOknm.js","CodeSnippet-B31CH-Mp.js","CodeSnippets-BxTYZWz6.js"]}