These Resuable Reagent Components with their App-State-Driven CSS Transitions (sorry, only the input component is shown in the GIF) were built using bare-bone Reagent [1].
[form/input-text-split {:name1 "firstName" :name2 "lastName"}]
[form/input-text-split {:name1 "email" :name2 "email_repeat"}]
[form/input-password {:name "password"}]
That is ALL it takes to build what you see in the GIF if you use the aforementioned pure Reagent resuable input component.RSVP if you want hands on close up look at our approach to building and sharing resuable "logic-less" components with app-state-driven css transitions.
These components are not yet open source, but I can answer all your questions at the meetup, not on this thread, and show some sample code to get ClojureScript/Reagent n00bs like us going on their own possibly more elegant implementations and move to the world of Reagent.
See u then.
Marc
1. https://github.com/reagent-project/reagent
RSVP below (even if you plan to attend virtually):
2. http://www.meetup.com/Reagent-Minimalistic-React-for-ClojureScript/events/221710610/