isle.pizza/src/lib/Accordion.svelte
Christian Semmler 804a87e687
Migrate frontend to Svelte 5
- Replace vanilla JS with Svelte 5 components
- Add Vite build system with Terser optimization
- Reorganize assets into src/ and public/ directories
- Update README with setup instructions
2026-01-11 19:10:16 -07:00

21 lines
561 B
Svelte

<script>
export let items = [];
export let openItem = null;
export let onToggle = () => {};
export let titleKey = 'title';
export let idKey = 'id';
</script>
{#each items as item}
<div class="accordion-item">
<button type="button" class="accordion-header" onclick={() => onToggle(item[idKey])}>
{item[titleKey]}
</button>
<div class="accordion-content" class:open={openItem === item[idKey]}>
<div>
<slot {item}></slot>
</div>
</div>
</div>
{/each}