Karussell
Endlos laufende Slides mit explizitem Zustand und stabilem SSR.
Sequenzierte Inhalte
Ein aktiver Slide, ein Lebenszyklus
Navigation, Indikatoren, Tastatureingaben und Autoplay aktualisieren alle dieselbe reaktive Auswahl.
Endlosschleife
Nach dem letzten Slide beginnt „Weiter“ wieder am Anfang.
Autoplay
Ein positives Intervall schaltet nur weiter, solange das Control gemountet ist.
SSR-Zustände
Der Server kann alle Slides oder nur den aktiven ausgeben.
Autoplay-Karussell
„Zurück“, „Weiter“ und jeder Indikator bleiben explizite Aktionen, während der Timer aktiv ist.
Atlas
1. Architecture that keeps moving
The carousel owns the active state while the slide renderer stays declarative.
State
Looping sequence
Signal
2. Auto-advance without hidden magic
A lifecycle-bound timer rotates the same explicit active-index property.
State
Looping sequence
Northwind
3. SSR can surface every state
Stable dynamic ranges keep the server and hydration structure aligned.
State
Looping sequence
Harbor
4. Wrap-around is part of the contract
The next step after the right edge returns to the beginning.
State
Looping sequence
1 / 4
Active slide: 1 / 4 | autoAdvanceMs = 2600
Karussell-DSL
Der kontextbezogene Renderer verwaltet nur den Inhalt eines einzelnen Slides.
scala
carousel[SlideCard] {
items = slides
autoAdvanceMs = 2600
ssrShowAllStates = true
slideRenderer = (slide: SlideCard, index: Int) =>
renderSlide(slide, index)
}
Schleife
Kein totes rechtes Ende
next(), previous() und die Indikatoren verwenden denselben normalisierten aktiven Index.
Timer
Autoplay bleibt sauber entsorgbar
Eine Änderung des Intervalls ersetzt den Timer; beim Unmounten wird er immer entfernt.
Hydration
Beide Modi behalten dieselbe Baumstruktur
Der Nur-aktiv-Modus verwendet auf dem Server und im Browser einen dynamischen Mount-Punkt.