indiana-university / rivet-icons

Icons for Indiana University's Rivet Design System
https://rivet.iu.edu/icons-stickers/
BSD 3-Clause "New" or "Revised" License
7 stars 6 forks source link

Styles should not assume the rvt-icon will be defined #108

Open basham opened 4 months ago

basham commented 4 months ago

The CSS selector rvt-icon:not(:defined)::before assumes that the Rivet Icon Element will be defined. However, there may be a case in which the user wants to use an icon but have it statically rendered by manually copying the icon SVG code (due to server-side rendering or restrictive front-end environments).

<rvt-icon>
  <svg…>
</rvt-icon>

Instead, by updating that selector to rvt-icon:empty::before, it means that the initial loading style (16px square pseudo element) will only be applied if the element is empty (such as waiting for the custom element to be defined) — not when there is something there (such as when SVG is manually included or when the custom element is attached to the DOM).

This PR solves the same issue found in https://github.com/indiana-university/rivet-stickers/pull/6.