feat(front) : composant UiAccordion réutilisable

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-04 11:32:41 +02:00
parent fff6fa7e17
commit 9af05ff449

View File

@@ -0,0 +1,34 @@
<template>
<div class="overflow-hidden">
<button
type="button"
class="flex w-full items-center justify-between gap-4 bg-slate-100 px-4 py-3 text-sm font-semibold uppercase tracking-wide text-left"
@click="toggle"
>
<span class="flex-1">
<slot name="header" />
</span>
<Icon
name="mdi:chevron-down"
size="24"
class="shrink-0 transition-transform"
:class="{ 'rotate-180': modelValue }"
/>
</button>
<div v-if="modelValue" class="border border-t-0 border-slate-200 px-6 py-6">
<slot />
</div>
</div>
</template>
<script setup lang="ts">
const props = defineProps<{
modelValue: boolean
}>()
const emit = defineEmits<{
'update:modelValue': [value: boolean]
}>()
const toggle = () => emit('update:modelValue', !props.modelValue)
</script>