I was thinking the same @brett.miles
btw I’ve completed the work for 2 icons 
you can hide or show the 2 icons in any combination you want. I created a custom state and the value changes based on which icons are showing and I set the element id based on the state. I also assigned negative margins to the element ids however this approach needs you to create a state based on any combination that the icons can appear.
My solution does not collapse the container width however @sean mentioned that in his case it is not required.
I also added a text that toggles each time an icon is clicked. I added to see if the negative margin affects the element but it doesn’t. This means that I don’t need to add any class to the parent of the icon with JS. Only pure CSS and negative margins to the icons. You can still click on the icons and they’re functioning as expected.
