Ben McMahen
banner
benmcmahen.bsky.social
Ben McMahen
@benmcmahen.bsky.social
design & code at frame.io / adobe. pnw
Reposted by Ben McMahen
👀 React <ViewTransition> + DOM moveBefore()

- moveBefore() now allows React to preserve state during siblings reconciliation (experimental channel)

- you can animate those stateful elements with <ViewTransition>

Quite cool 😁
March 12, 2025 at 1:41 PM
Reposted by Ben McMahen
In other words, Design Systems are Platform on the experience design side. I’ve been advocating for this mindset shift for the last few years, and this excellent article by Sam Anderson provides a fantastic overview of why. www.linkedin.com/pulse/design...
Design Systems are Infrastructure: The evolution of design systems in the age of AI
In the past decade, design systems have transformed the way organizations create digital experiences, moving us from interpreting static style guides to a practice of regularly released and supported ...
www.linkedin.com
November 27, 2024 at 4:45 PM
making some updates to our carousel
- built upon react-aria collections / keyboard controls / selection mechanics
- entrance / exit animations
- scroll masking under the arrow buttons
November 27, 2024 at 9:01 PM
exit animations with the view transitions api:

::view-transition-old(.card):only-child {
animation: 300ms ease both fade-out;
}

... that's it. In React, this is so nice: no more `cloneElement` or array slicing.
November 27, 2024 at 6:14 PM
This please
that little scroll to top button? the one that’s not undoable, and forever loses your timeline position? that i’m constantly accidentally hitting? that replicates an inbuilt iOS behavior (tapping the top of the screen)? yeah i hate that little guy. make it go away please
November 26, 2024 at 6:01 AM
Reposted by Ben McMahen
there should be an app that exposes you to the schemes and machinations of weirdos
November 23, 2024 at 2:29 AM
Reposted by Ben McMahen
don’t useEffect, but if you must, don’t call setState in it
November 23, 2024 at 4:20 PM
in my opinion, a list component shouldn't animate when filtering via something like a search input, but it should animate when delete / add mutations occur. at frame, our list component has this behavior built in
October 31, 2024 at 9:26 PM