I’m doing something similar to what @raymond is doing, only it’s:
text object + icon object in a group
invisible button (ie, background is none, or full color/transparency 0%, no text) overlaid on top. All conditionals and workflows depend on the user clicking/hovering/etc. on this transparent button (which cuts down on the # of workflows, so you don’t have to handle the text + icon separately)
I put a tiny example in @raymond 's forum app page, underneath his buttons
NOTE: to display the button’s text, it’s important that it’s a text object and not a button, because right now Bubble’s buttons don’t have a H/V padding option, so you end up with text being way too close to the edge. Text objects give you much more control over the display.
honestly I’d prefer to keep doing this vs. seeing a Button+Icon implementation, it gives you the most control over positioning – if you look through the icons, you’ll notice that they are inconsistently positioned and sized, and you’d probably spend just as much time tweaking margins…