atom ยท normalize candidateButton
Shared click target for CTAs, utility actions, menu buttons, and generated variants.
9consumers2evidence10tokens
Rendered primitiveButton variants and statesdeterministic source context state extraction
Source restbutton.legacy-button-3.source-restsource observedHover targetbutton.legacy-button-3.hoverrequired derivedPressedbutton.legacy-button-3.pressedrequired derivedKeyboard focusbutton.legacy-button-3.focusrequired derivedUnavailablebutton.legacy-button-3.disabledrequired derived Source restbutton.primary-cta-5.source-restsource observedHover targetbutton.primary-cta-5.hoverrequired derivedPressedbutton.primary-cta-5.pressedrequired derivedKeyboard focusbutton.primary-cta-5.focusrequired derivedUnavailablebutton.primary-cta-5.disabledrequired derived Semantic token resolution
Labelvar(--wl-primary-strong)->primaryStrongcolor->Focus ringvar(--wl-accent)->Buttonatom API
Proposed contract
intentsizelabelhreficonexternaldisabledtrackingId
Token contract
Labelvar(--wl-primary-strong)Surfacevar(--wl-surface)Bordervar(--wl-primary-soft)Active fillvar(--wl-primary-strong)Active labelvar(--wl-surface)Text weightvar(--wl-label-weight)Radiusvar(--wl-button-radius)Horizontal paddingvar(--wl-button-padding-x)2 moresemantic slots
- Homepage currently exposes several button-like treatments with different class names.
- Normalize carefully: preserve Brand 0 evidence first, then converge future variants through props.
Evidence2 source clusters
legacy buttonRexall.ca homepage fidelity auditShop (opens in a new window)Weekly Flyer
primary ctaRexall.ca homepage fidelity auditLearn MoreBook an Appointment