HermeneusIcon
Die HermeneusIcon-Komponente bietet eine flexible und effiziente Möglichkeit, SVG-Icons in Vue 3-Anwendungen zu integrieren. Durch die Verwendung des IntersectionObserver API werden Icons nur geladen, wenn sie im Viewport sichtbar sind, was die Performance verbessert. Unterstützt werden sowohl TailwindCSS-Farbklassen als auch benutzerdefinierte Farbklassen, was eine breite Palette an Gestaltungsmöglichkeiten eröffnet.
Props
name:String(erforderlich) - Der Name des zu ladenden Icons. Das SVG sollte im Verzeichnispublic/img/svgvorhanden sein, benannt nach der Konvention{name}.svg.width,height:String | Number(optional) - Breite und Höhe des Icons in Pixeln. Standard ist15.color:String(optional) - Die Farbe des Icons, angegeben als TailwindCSS-Farbklassenname oder als benutzerdefinierte Farbklasse. Der Standardwert istcurrent, wascurrentColorin CSS entspricht.viewbox:Number | String(optional) - DieviewBox-Eigenschaft des SVG. Standardmäßig nicht gesetzt.cache:Boolean(optional) - Gibt an, ob das Icon nach dem Laden gecacht werden soll. Standard isttrue.
Computed Properties
colorClass: Basierend auf demcolor-Prop wird entschieden, welche Farbklasse angewendet wird. Unterstützt werden TailwindCSS-Farbklassen und benutzerdefinierte Farbklassen.
Beispiele
Standard-Icon:
html
<hermeneus-icon name="hi-texte"></hermeneus-icon>Icon mit TailwindCSS-Farbe:
html
<hermeneus-icon name="hi-texte" color="text-gray-500"></hermeneus-icon>Icon mit benutzerdefinierter Farbe:
html
<hermeneus-icon name="hi-texte" color="hi-color-puderrosa"></hermeneus-icon>Die Klasse muss im Komponentenunterordner ./css/custom_colors.css definiert werden.
css
.hi-color-puderrosa * {
fill: #aaa;
}Icon mit benutzerdefinierter Größe:
html
<hermeneus-icon name="hi-texte" width="24" height="24" color="text-red-500"></hermeneus-icon>Integration
Die Komponente ist global registriert.