# SlotProcessor

## Überblick

Der `SlotProcessor` implementiert ein Slot-System für Komponenten, das die flexible Platzierung von Inhalten innerhalb von Komponenten ermöglicht.

## Funktionsweise

- Findet `<slot>`-Tags im DOM
- Ersetzt diese durch den im RenderContext definierten Slot-Inhalt
- Falls kein Inhalt definiert ist, wird der Default-Inhalt des Slots verwendet

## Syntax

```html
<slot name="slotName">Default-Inhalt</slot>
```

## Beispiel

**Komponentendefinition:**
```html
<div class="card">
    <div class="card-header">
        <slot name="header">Standard-Header</slot>
    </div>
    <div class="card-body">
        <slot>Standard-Inhalt</slot>
    </div>
</div>
```

**Verwendung:**
```html
<component name="card">
    <div slot="header">Mein benutzerdefinierter Header</div>
    <p>Mein Inhalt für den Default-Slot</p>
</component>
```

## Implementierung

Der Prozessor sucht nach `<slot>`-Tags mit einem `name`-Attribut und ersetzt sie durch den entsprechenden Inhalt aus dem `slots`-Array des RenderContext. Wenn kein passender Slot-Inhalt gefunden wird, wird der innere Inhalt des `<slot>`-Tags als Fallback verwendet.

## Benannte vs. Default-Slots

- **Benannte Slots**: Haben ein `name`-Attribut und werden durch Inhalte mit passendem `slot`-Attribut ersetzt
- **Default-Slot**: Hat kein `name`-Attribut und wird durch den Hauptinhalt der Komponente ersetzt

## Integration mit ComponentProcessor

Der SlotProcessor wird normalerweise nach dem ComponentProcessor ausgeführt, um die Slots innerhalb der gerenderten Komponenten zu verarbeiten. Die Komponenten-Templates definieren die Slots, während der Aufruf der Komponente die Inhalte für diese Slots bereitstellt.

## Vorteile

- Ermöglicht flexible, anpassbare Komponenten
- Unterstützt komplexe UI-Strukturen mit variabler Inhaltsplatzierung
- Ähnlich dem Slot-Konzept in Web Components und modernen Frontend-Frameworks
