WORK-474
ID:WORK-474Status:ready

feature adopts layout="carousel" (first Phase B adopter)

Add carousel to feature's layout matches and map its feature-item collection onto the shared carousel contract — the first proof that adoption is config + contract + CSS with zero new behavior code. Per SPEC-100 Phase B.5.

Priority:mediumComplexity:simpleMilestone:v0.26.0Source:SPEC-100
claude/v0.26.0-milestone-2vuxi9 View source

Criteria completion

Criteria completion: 0 of 3 (0%) checked; tracking started on Jun 25, no incremental history yet0%25%50%75%100%Jun 25Jul 11

Tracking started Jun 25 — check back for trends.

Branches 3
History 2
  1. 8b03e16
    Content editedby bjornolofandersson
  2. 17d2678
    Created (ready)by bjornolofandersson

Scope

  • Add carousel (from the canonical const) to feature's layout matches — trivial now that the axis + data-layout emission exist (WORK-467).
  • Map feature's item container/items onto the shared contract ([data-name="items"] / [data-name="item"]) so the generalised behavior binds with no per-rune behavior code.
  • Add CSS for the carousel track on feature; wire the collapse-to="carousel" option (WORK-473) so layout="grid" collapse-to="carousel" gives grid-desktop / swipe-row-mobile.
  • layout="carousel" is an all-viewport carousel (graceful degradation); an explicit desktop carousel shows the JS nav affordances (via the shared behavior).

Acceptance Criteria

  • feature accepts layout="carousel", emits the shared contract, and styles the track.
  • An explicit desktop carousel shows the JS nav affordances; no new behavior code was added for feature.
  • CSS-coverage passes for the new feature [data-layout="carousel"] selectors.

Dependencies

  • WORK-467feature's layout axis + emission.
  • WORK-472 — the block-agnostic behavior feature binds to.
  • WORK-473 — the collapse-to-carousel option being wired.

References

  • Spec: SPEC-100 Phase B.5. plugins/marketing/src/tags/feature.ts, plugins/marketing/src/config.ts (Feature).