purescript-halogen-transition is a small library that toggles enter/leave className when visibility changes. See an example. Only works with Halogen 5 right now.
It uses Aff.delay to wait for transition ending. I’m actually not sure if Aff.delay is the right option.
This is really cool! One thing you could do with Halogen 5 would be to use the “low-level” component representation, which can hide the internal query type, and proxy queries/messages directly to the child.
I’ve also really wanted to implement transition primitives on top of halogen-vdom so they could be shared by spork and halogen. Have you ever looked into how halogen-vdom works?