Component gallery

Canon pack registry — named sections sites consume, reviewed before pages ship.

Overview

The component gallery is the live index of Creytix canon sections. The SSOT is packages/creytix-sections/registry.json. Sites consume @expedia/creytix-sections — they do not fork a marketplace or vendor the React package into the Control Panel.

Taste the pack in a .brand-creytix host:

import { CanonPackGallery } from "@expedia/creytix-sections/canon-pack-gallery";
<div className="brand-creytix"><CanonPackGallery /></div>

How it works

  1. Registry — every named section (hero-banner, cta-band, sticky-cta-bar, back-to-top, speed-dial, …) has a row in registry.json.
  2. Design Lab stamp — the canvas is still a NodeModel. Hero and CTA blocks carry libraryRef (creytix-sections/hero-banner@1.0.0, creytix-sections/cta-band@1.0.0). Overlay-frame and canon-pack-gallery are not WireframeDoc kinds.
  3. Frontier Bind — P1–P5 bind the sections category (site.sections). Completeness-pack maps live in FRONTIER_KIT_CONSUME.json websiteTools[].

Steps

  1. •

    Open Design Lab

    Operator home: http://localhost:3025/app/design-lab. Insert Hero, CTA band, Sticky CTA, or Back to top from the palette.

  2. •

    Prove the bind

    cd "/Users/ricardo/Expedia Solutions" && npm run creytix:site:frontier-bind -- --prove
    

    Then review consume maps at http://localhost:3025/app/frontier-bind.

  3. •

    Import in a site

    Use the package export for that section (hero-banner, cta-band, sticky-cta-bar, back-to-top, speed-dial). Token-only var(--ctx-*). Do not copy the source into the site.

Capabilities

  • Canon registry — named sections with versions, not a plugin store.
  • Gallery component — CanonPackGallery for visual index in a brand host.
  • Frontier consume — 20 website tools mapped onto existing engines; Ahrefs stays banned (SEO OS).
  • Cross-site reuse — bind site.sections, then import the package.

Limits & honest scope

  • Design Lab does not mount @expedia/creytix-sections inside creytix-front. It stamps libraryRef so export stays owned NodeModel markup.
  • Overlay chrome composes drawer-sheet / modal-dialog. Color pickers stay host-owned.
  • Dual-thumb slider lives in packages/creytix-sections/src/slider.tsx — do not fork a second slider.

Have a code from email or QR?