Button has too many things to care about, including loading and error. It's cool, but kinda overcomplicate things.
I think we should have only two type of buttons:
Primary (today fill)
Secondary (today none)
Tertiary (today outline) should be removed
After this, button can be disabled, but only primary button should have the possibility to be in "loading" state. In the same way, only the primary could be "animated" for error. Then, layout animations should be applied to the WRAPPER, in case of animating content.
Property "transform" of AnimatedComponent(<>) may be overwritten by a layout animation. Please wrap your component with an animated view and apply the layout animation on the wrapper.
Icon and text can stay there for the sake of simplicity of writing buttons (and not having TextButton, IconButton, BothFuckingThingsButton) and style applied can also remain.
Button has too many things to care about, including loading and error. It's cool, but kinda overcomplicate things.
I think we should have only two type of buttons:
Tertiary (today outline)should be removedAfter this, button can be disabled, but only primary button should have the possibility to be in "loading" state. In the same way, only the primary could be "animated" for error. Then, layout animations should be applied to the WRAPPER, in case of animating content.
Property "transform" of AnimatedComponent(<>) may be overwritten by a layout animation. Please wrap your component with an animated view and apply the layout animation on the wrapper.
Icon and text can stay there for the sake of simplicity of writing buttons (and not having TextButton, IconButton, BothFuckingThingsButton) and style applied can also remain.