Lexsis Storefronts

Blueprint Schema Reference

Complete JSON schema for Lexsis storefront blueprints

Blueprint Schema Reference

Top-Level Structure

{
  "version": 2,
  "theme": { ... },
  "kit": null,
  "generatedAssets": {},
  "sections": [ ... ]
}
FieldTypeDescription
versionnumberSchema version (currently 2)
themeobjectVisual tokens for the entire page
kitobject | nullReserved for future use
generatedAssetsobjectAI-generated images/assets
sectionsarrayOrdered list of page sections

Theme Object

All visual tokens for the page. Set once, affects all sections.

{
  "palette": {
    "bg": "#FFFFFF",
    "surface": "#F5F5FF",
    "accent": "#5B5BD6",
    "text": "#1A1A2E",
    "highlight": "#EEF0FF",
    "border": "#E5E5F0"
  },
  "fonts": {
    "display": "Inter",
    "body": "Inter, system-ui, sans-serif"
  },
  "borderRadius": "md",
  "spacing": "relaxed",
  "button": { "bg": "#5B5BD6", "text": "#FFFFFF", "radius": "full" },
  "typography": {
    "sectionHeadingSize": "clamp(1.6rem, 3vw, 2.25rem)",
    "sectionHeadingWeight": "600",
    "sectionHeadingTracking": "-0.01em",
    "bodySize": "0.9375rem"
  }
}

Palette

TokenPurpose
bgPage background color
surfaceCard/elevated surface color
accentBrand accent, CTAs, links
textPrimary text color
highlightSubtle highlight backgrounds
borderBorder and divider color

Border Radius

ValueEffect
noneSharp corners
smSubtle rounding
mdModerate rounding (default)
lgPronounced rounding
fullPill/circle shapes

Spacing

ValueEffect
tightCompact layout
normalStandard spacing
relaxedGenerous whitespace
generousMaximum breathing room

Typography

Controls all headings and body text page-wide:

  • sectionHeadingSize — CSS clamp value for responsive sizing
  • sectionHeadingWeight — Font weight (400-900)
  • sectionHeadingTracking — Letter spacing
  • bodySize — Base body text size

Section Object

{
  "id": "hero",
  "type": "lx_hero",
  "variant": "editorial_minimal",
  "content": { ... },
  "settings": { ... },
  "tokens": { ... },
  "element_styles": { ... }
}

Fields

FieldPurpose
idUnique identifier within the page
typeComponent type (lx_hero, lx_stats, etc.)
variantVisual variant of the component
contentComponent-specific data (headlines, images, items)
settingsStructural config: height, background, spacing, anchor
tokensPer-section CSS variable overrides
element_stylesPer-element inline CSS overrides

Customization Precedence (lowest to highest)

  1. theme — page-wide defaults
  2. tokens — CSS variable overrides for one section
  3. settings — spacing, background, visibility, anchor
  4. element_styles — per-element inline CSS
  5. settings.customCss — arbitrary CSS, scoped to section

Settings Object

{
  "min_height": "90vh",
  "background": { "type": "animated", "animated": "blurry_gradient" },
  "spacing": { "top": "120px", "bottom": "80px" },
  "anchor": "hero",
  "customCss": "[data-lx-field='headline'] { letter-spacing: -0.04em; }"
}

Background Types

TypeDescription
solidSingle color background
gradientCSS gradient
imageBackground image URL
animatedDynamic animated background

Animated Backgrounds

Available values: blurry_gradient, aurora, particles, wave, mesh, noise, spotlight, ripple


Validation

Always validate blueprints before publishing. Validation checks:

  • All type values are registered components
  • All variant values exist for their type
  • Required content fields are present
  • Icon fields use valid lucide:name format

Available Component Types

TypeDescription
lx_navbarNavigation bar
lx_heroHero/banner section
lx_statsStatistics/metrics display
lx_value_propsValue propositions grid
lx_reviewsCustomer reviews/testimonials
lx_ctaCall-to-action section
lx_footerPage footer
lx_pdpProduct detail page
lx_product_accordionExpandable product details
lx_product_carouselProduct image carousel
lx_guaranteeGuarantee/trust badges
lx_buy_boxPurchase/add-to-cart widget