Icon
components/bausteine/Icon.jsxEin Zeichen aus dem Lucide-Satz — für alles, was ein Symbol braucht.
<Icon name="fahrt" groesse={16} titel="Fahrt" />
namenimmt eine Sach-Rolle (fahrt,schule,sport,essen,arzt,musik,freude,familie,ritual,schwimmen,vorschlag) oder direkt einen Lucide-Dateinamen (bell,search,plus).- Das Zeichen wird inline gerendert und über
stroke: currentColoreingefärbt — es trägt also die Textfarbe seines Elternteils und kommt in Screenshots und Exporten mit. - Quelle sind die Dateien in
assets/icons/;components/bausteine/zeichen.jshält ihren Pfad-Inhalt. Kommt ein Zeichen dazu: Datei nachassets/icons/legen undzeichen.jsneu erzeugen — nie ein SVG von Hand zeichnen. - Ohne
titelist das Zeichen dekorativ (aria-hidden) — richtig, weil neben jedem Zeichen Text steht.
Types (.d.ts)
/** Zeichen aus dem Lucide-Satz, inline gerendert und über `stroke` eingefärbt. */
export interface IconProps {
/** Sach-Rolle ("fahrt", "schule", "essen", "familie", "ritual", "vorschlag", ...) oder Lucide-Dateiname ("bell"). */
name: string;
/** Kantenlänge in px. Standard 16. */
groesse?: number;
/** Strichstärke. Standard 2 — wie im Satz. */
strich?: number;
/** Strichfarbe. Standard currentColor. */
farbe?: string;
/** Wenn gesetzt, wird das Zeichen für VoiceOver benannt; sonst ist es dekorativ. */
titel?: string;
style?: React.CSSProperties;
}
export function Icon(props: IconProps): JSX.Element | null;
export const SACHEN: Record<string, string>;