Unfortunately, the Velo API does not support assigning gradient background to buttons.
But there’re still some workaround you can do in order to achieve the same effect.
Option one - custom element:
Instead of using Wix Button, create a button of your own using custom element (only if the website is connected to your own domain)
This way is clean and simple but requires some basic knowledge in html and css (and custom components),
Option 2 - svg:
Instead of buttons, use boxes .
In each box put a vector element (i.e. decorative rectangle). Over the vector element put the mode icon (I mean the layout white squares).
Create an svg file/code with the gradient and assign it to the vector element src.
Now assign the on click event listeners to the parent box and change the vector src in the event handler block.