I believe this library would be very useful for simple animations. The small size and simple API should make this usable in many cases.
As for more sophisticated animations, I can think of reanimate [1], which outputs animations in SVGs, and should work on the web with wasm if integration is needed [2][3].
I completely agree that declarative programming (and functional-style programming) shines for composing animations. Imperative programming does not show the intent as clearly, and makes it hard to reason about or time travel animations.
[1]: https://reanimate.readthedocs.io/en/latest/glue_tut/