Files
backstage/.changeset/card-hybrid-click.md
T
Johan Persson 430d5ed323 fix(ui): allow CardBody scrolling in interactive cards (#33151)
* refactor(ui): rename CardOverlay to CardTrigger

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* refactor(ui): replace Card overlay with visually-hidden trigger and focus ring

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* feat(ui): implement hybrid click delegation for interactive cards

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* docs(ui): add story for interactive scrollable card

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* chore: add changeset for interactive card scroll fix

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* fix(ui): fix bottom scroll shadow showing when CardBody has no overflow

The reversed scroll-driven animation used `both` fill mode, causing the
backwards fill to show opacity: 1 when no scroll timeline was active.
Replace with two stacked animations using `forwards` fill only.

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* docs(ui): update InteractiveScrollable story to use onPress

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* style: format Card.module.css

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* fix(ui): guard against Text node target in Card click handler

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* feat(ui): render Card as article element for better semantics

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* chore(ui): update API report

Signed-off-by: Johan Persson <johanopersson@gmail.com>

* fix(ui): prevent synthetic click from double-bubbling and exclude onClick from Card types

Signed-off-by: Johan Persson <johanopersson@gmail.com>

---------

Signed-off-by: Johan Persson <johanopersson@gmail.com>
2026-03-05 14:57:00 +00:00

210 B

@backstage/ui
@backstage/ui
patch

Fixed interactive cards so that CardBody can scroll when the card has a constrained height. Previously, the overlay element blocked scroll events.

Affected components: Card