WORK-654
ID:WORK-654Status:draft

An actions primitive, used by hero and cta

Buttons are a convention, not a primitive. hero and cta render links through linkItem, and Lumina draws the first as primary and the rest as outlined by list position, with the CSS duplicated in hero.css and cta.css. No other rune can get buttons without copying both. {% actions %} makes it a core rune (SPEC-160 D6).

Priority:mediumComplexity:moderateMilestone:v0.43.0Source:SPEC-160,SPEC-169
claude/v0-42-0-planning-ata7nd View source

Criteria completion

Criteria completion: 0 of 6 (0%) checked; tracking started on Oct 22, no incremental history yet0%25%50%75%100%Oct 22Oct 28

Tracking started Oct 22 — check back for trends.

Branches 3
History 2
  1. fa4981f
    Content editedby bjornolofandersson
  2. abc833f
    Created (draft)by bjornolofandersson

Acceptance Criteria

  • {% actions %} is a core rune that takes a list of links, and optionally fences, and renders each link as data-name="action" with data-rank="primary" for the first and secondary for the rest
  • A fence renders as a command block, as in hero today
  • Lumina's button CSS moves from hero.css and cta.css into actions.css, styled by rank, not list position
  • hero and cta, still plugin runes, render their actions through it with no visual change, checked in the gallery
  • A composed hero fixture over section with a delimited content model renders its media and content zones and wraps its actions list in {% actions %} (the fixture SPEC-169 D1 specifies)
  • Contracts are regenerated on both copies and the diff reviewed

Approach

Rank stays positional, as today (SPEC-160 D6's default). Authorable rank is left for when a rune needs it.

Blocked by

  • WORK-652: the hero fixture needs section's split
  • WORK-646: the hero fixture needs the delimited model
  • WORK-659: the hero fixture places eyebrow, headline and blurb slots in section, so it is recorded against the final header grammar

References

  • SPEC-160: D6.
  • SPEC-169: D1's acceptance fixture.