Skip to main content

Design system components

WorkMagneticField

Homepage work grid with magnetic hover on up to three project cards.

Status: stable. Group: marketing. Markdown version: /design-system/components/work-magnetic-field.md

When to use

WorkMagneticField is the homepage work showcase: a grid of project cards with the magnetic hover interaction, a view-all link (showViewAll, default true) and homepage anchor wiring (id defaults to "work", donnyTarget to "home.work"). It renders its own grid of EnhancedProjectCard, at most the first three projects, and tags every card with contentLanguage="en" whatever the page locale; it shares only the ProjectItem type with WorkPreviewSection. Use WorkPreviewSection when you need the plain grid without the effect.

When not to use

The contract records no forbidden uses.

Look-alikes

The contract names no look-alike with a deciding condition.

Props

WorkMagneticField props
PropTypeDefaultDescriptionRequired
titlestringnoneSection title.No
projectsProjectItem[]noneProjects to display. Only the first three render; passing more logs a development warning.Yes
showViewAllbooleantrueShow "View all work" link (default true)No
classNamestringnoneCustom className.No
idstringworkSection ID for navigation (default "work"); also prefixes the title id.No
donnyTargetstringhome.workDonny site action target id (default "home.work")No
contentLanguagestringenBCP 47 language of the project titles and metadata, set as lang on each card. Project copy is authored in English.No

Variants

No variant dimensions and no props with a fixed set of values.

Invalid combinations

The contract records no invalid combinations.

Keyboard

The contract records no keyboard interaction.

Rules

Every item under When not to use is a MUST NOT. MUST and SHOULD follow RFC 2119.

WorkMagneticField rules
LevelRuleHow it is checked
MUSTARIA: Renders a section labelled by its h2 title through aria-labelledby when title is set; without title the section has no accessible name.Not yet verified: no evidence record. WCAG 4.1.2.
MUSTARIA: The card grid is a role=list of role=listitem wrappers, one per rendered project (at most three).Not yet verified: no evidence record. WCAG 4.1.2.
MUSTARIA: Each card marks its project copy with lang from contentLanguage (default "en", because project copy is authored in English) while the surrounding UI follows the page language.Not yet verified: no evidence record. WCAG 4.1.2.
MUSTRequired stories produce no axe violations at the configured severity.Automated by npm run test:stories:matrix:ci. WCAG 2.5.8.
MUSTThe accessibility tree (role, name, state) matches the committed snapshot for every required story.Automated by npm run test:stories:matrix:ci. WCAG 1.3.1, 4.1.2.
MUSTThe component remains legible and operable under a real browser forced-colors: active pass.Automated by npm run test:stories:hc.
MUSTA human completed an end-to-end accessibility review of this component.Manual review, last on 2026-11-04.
MUST NOTMaintainers: Do not bypass design tokens or skip forced-colors verification at beta.Release review; not machine-checked.

Install and import

  • In-repo only. WorkMagneticField is not exported from @digitaltableteur/react, so there is no public import path.