Skip to main content
See Card for the decided part of this page.

Known issues

No divergence is currently recorded specifically for Card.

Gaps in the current rules

  • interactive and selected are weakly tested. Card.test.tsx asserts the resulting CSS class is present, but does so by passing className="interactive-card" (or "selected-card") directly to the component, rather than by setting the interactive or selected boolean prop and checking that the class appears as a result. Only the error boolean prop is tested through its real path. Reading Card.tsx directly confirms the boolean-to-class wiring is implemented correctly (clsx(className, { "interactive-card": interactive, … })), but the test suite does not independently exercise it for two of the three states.
  • No story demonstrates the error state. Card.stories.js contains only BasicCard and InteractiveCard — there is no visual reference for what an error-state Card looks like next to a selected one, even though both are themed and tested.
  • raised appears to have no visible effect, since Card.overrides.ts sets boxShadow: none unconditionally on the root — this is an inference from reading the override, not something independently rendered and confirmed in a browser this session.
  • No content rules exist for what goes inside a Card. Unlike Table’s column-header rules or Tag’s label rules, nothing in source constrains Card’s copy.
Last modified on September 2, 2026