I have a custom web-component which is basically an SVG-Icon:
<custom-icon>
    <svg>{svg-stuff}</svg>
</custom-icon>
I want to be able to change it's size by applying CSS like so:
custom-icon {
    width: 20px;
}
But I also would like to have a fallback default value when no CSS is applied. However, when I inline some CSS like <custom-icon style="width:15px"> it just overwrites all CSS I apply afterwards. How can I have the default "15px" only apply if there is no custom CSS?
MWE:
class CustomIcon extends HTMLElement {
  constructor() {
    super();
    
    let size = "100px"
    
    this.style.height = size;
    this.style.width = size;
    
    this.style.background = "firebrick"
    this.style.display = "block"
  }
}
window.customElements.define('custom-icon', CustomIcon);custom-icon {
  --icon-size: 50px;
  height: var(--icon-size);
  width: var(--icon-size);
}<custom-icon /> 
     
     
    