TransitionMap instead of a single config.
A TransitionMap maps property categories to individual transition configs:
Category keys
Using default as a fallback
When a category is not listed in the map, the library falls back to the default key. If no default key is present either, the library default (timing 300ms easeInOut) applies.
scale and translateY (both in the transform category) use the spring defined under default. opacity uses its own timing config.
When to use per-property vs a single config
On Android,
backgroundColor is animated with ValueAnimator.ofArgb(), which only supports timing transitions. If you specify type: 'spring' for the backgroundColor key, it silently falls back to timing with a 300ms duration.