Perhaps the component could take an optional size prop for width/height which for the fallback, could be used for spin.js. That's the downside I see to using a gif is that it's static. I frequently make my spinners different sizes with CSS so not having that flexibility here would be annoying.
Or perhaps use spin.js — https://github.com/fgnass/spin.js/blob/master/spin.js
Perhaps the component could take an optional
size
prop for width/height which for the fallback, could be used for spin.js. That's the downside I see to using a gif is that it's static. I frequently make my spinners different sizes with CSS so not having that flexibility here would be annoying.