Developer preview. Vela, Facet, and Quire are pre-release and in active development — syntax, APIs, and availability may change, and they are not yet generally available.
SStretch Dev Docs
Quire

Advanced Authoring

Declarative helpers for bindings, metadata, visibility, responsive variants, and author intent.

Advanced authoring helpers in Quire compile to typed IR descriptors. They are not runtime functions, and they do not execute Quire source.

These helpers are pre-release language surface. Treat them as declarative metadata that consumers can preserve, inspect, and map into platform behavior.

Descriptor helpers

computed(key, value) labels a derived value while keeping the type of the underlying expression. bind(source, fallback?) emits an explicit binding descriptor with an optional compatible fallback. when(condition, consequent, alternate) is a named conditional expression helper.

responsive(base, sm?, md?, lg?, xl?) records responsive variant intent. Quire does not define breakpoints or CSS behavior; renderers and themes decide how to interpret the descriptor.

View and block metadata

seo(title, description, canonical?, image?) emits view-level metadata. a11y(label, role?, describedBy?) emits block-level accessibility metadata. The metadata is accepted by the schema, but renderer lanes decide how it maps to platform-specific attributes.

From examples/site/pricing.quire:

quire StretchPressPricing {
  model {
    page: StretchPressPage
    navItems: StandardNavItem[]
    legalItems: StandardNavItem[]
    plans: StandardPricingPlan[]
    faqItems: StandardFAQItem[]
  }

  route "/pricing"
  locale locale("en-US", "ltr")
  dir dir("ltr")
  title page.metaTitle
  seo seo(page.metaTitle, page.seoDescription, page.canonical, page.heroImage.url)

The same file uses token-backed variants and accessibility metadata on a section:

  section comparison {
    label "Comparison"
    variant token("site.pricing.comparison")
    a11y a11y("StretchPress plan comparison", "region")

    grid comparisonGrid {
      columns 4

Visibility

Standard blocks accept a typed Boolean visible prop. It is declarative visibility data for consumers of the IR, not a runtime branch executed by Quire.

When authors need structural branching, use if and else blocks. From examples/product.quire:

    if product.available {
      button addToCart {
        label "Add to cart"
        action commerce.cart.add(product.defaultVariant.id)
      }
    }

Authoring boundary

Advanced helpers do not create a scripting layer. Quire still compiles source to stretchpress.blocks.v1 data, with type checking performed against the active built-in and project schema.