<!--
|--------------------------------------------------------------------------
| Agência PSI
|--------------------------------------------------------------------------
| Criado e desenvolvido por Leonardo Nohama
|
| Tecnologia aplicada à escuta.
| Estrutura para o cuidado.
|
| Arquivo: src/features/clinic/components/ModuleRow.vue
| Data: 2026
| Local: São Carlos/SP — Brasil
|--------------------------------------------------------------------------
| © 2026 — Todos os direitos reservados
|--------------------------------------------------------------------------
-->
<script setup>
import ToggleButton from 'primevue/togglebutton';

defineProps({
    title: { type: String, default: '' },
    desc: { type: String, default: '' },
    icon: { type: String, default: '' },
    enabled: { type: Boolean, default: false },
    loading: { type: Boolean, default: false }
});

defineEmits(['toggle']);
</script>

<template>
    <div class="flex items-start justify-between gap-4">
        <div class="min-w-0">
            <div class="flex items-center gap-2">
                <i :class="icon" class="opacity-80" />
                <div class="text-base font-semibold">{{ title }}</div>
            </div>
            <div class="mt-1 text-sm opacity-80">{{ desc }}</div>
        </div>

        <div class="shrink-0">
            <ToggleButton :modelValue="enabled" onLabel="Ativo" offLabel="Inativo" :loading="loading" @update:modelValue="$emit('toggle')" />
        </div>
    </div>
</template>
