<script lang="ts">
  /**
   * RustyImage (Svelte): Gleiche API wie RustyImage.astro, aber für Svelte.
   * Wichtig: In Svelte kann die Auflösung (Transform-API + Speichern in public) nicht laufen.
   * Du musst hier bereits den aufgelösten Pfad übergeben (z. B. /images/transformed/xyz.jpg).
   * Die Auflösung passiert in der Astro-Seite mit ensureTransformedImage() – das Ergebnis
   * übergibst du als src an diese Komponente.
   */
  interface Props {
    /** Bereits aufgelöster Bildpfad (z. B. von ensureTransformedImage in Astro). */
    src: string;
    width?: number;
    height?: number;
    alt?: string;
    class?: string;
    loading?: "lazy" | "eager";
  }

  let { src, width, height, alt = "", class: className = "", loading = "lazy" }: Props = $props();
</script>

<img
  {src}
  {alt}
  {width}
  {height}
  class={className}
  {loading}
/>
