Skip to content

Component contract

All icon components share the same contract:

  • render exactly one root <svg>;
  • preserve the authored viewBox, groups, paths, fills and strokes;
  • accept standard Vue fallthrough attributes on the root SVG, including class, style, width, height, fill, stroke, role, aria-*, data-* and event listeners;
  • define no package-specific props, emitted events, slots or exposed instance methods;
  • have no import-time browser access and no global registration side effect.

Most single-color icons can be styled through fill: currentColor. Explicit fills inside multicolor illustrations remain unchanged.

Naming contract