docs(radio) : story + page playground MalioRadioGroup

This commit is contained in:
2026-06-24 16:30:05 +02:00
parent 62b23c53b4
commit a24748f7b1
3 changed files with 110 additions and 0 deletions
+59
View File
@@ -0,0 +1,59 @@
<template>
<Story title="Input/RadioGroup">
<div class="grid grid-cols-1 gap-6 md:grid-cols-2">
<div class="rounded-lg border p-4">
<h2 class="mb-4 text-xl font-bold">Empilé</h2>
<MalioRadioGroup v-model="stacked" :options="options" label="Catégorie" />
</div>
<div class="rounded-lg border p-4">
<h2 class="mb-4 text-xl font-bold">En ligne</h2>
<MalioRadioGroup v-model="inline" :options="yesNo" inline label="Prestation" />
</div>
<div class="rounded-lg border p-4">
<h2 class="mb-4 text-xl font-bold">Erreur</h2>
<MalioRadioGroup v-model="errored" :options="yesNo" inline error="Sélection requise" />
</div>
<div class="rounded-lg border p-4">
<h2 class="mb-4 text-xl font-bold">Succès</h2>
<MalioRadioGroup v-model="ok" :options="yesNo" inline success="Enregistré" />
</div>
<div class="rounded-lg border p-4">
<h2 class="mb-4 text-xl font-bold">Désactivé</h2>
<MalioRadioGroup v-model="disabled" :options="options" disabled label="Catégorie" />
</div>
<div class="rounded-lg border p-4">
<h2 class="mb-4 text-xl font-bold">Requis + slot</h2>
<MalioRadioGroup v-model="slotted" required label="Civilité" inline>
<MalioRadioButton value="M" label="Monsieur" />
<MalioRadioButton value="Mme" label="Madame" />
</MalioRadioGroup>
</div>
</div>
</Story>
</template>
<script setup lang="ts">
import {ref} from 'vue'
const options = [
{label: 'Catégorie 1', value: 'cat1'},
{label: 'Catégorie 2', value: 'cat2'},
{label: 'Catégorie 3', value: 'cat3'},
]
const yesNo = [
{label: 'Oui', value: 'oui'},
{label: 'Non', value: 'non'},
]
const stacked = ref<string | null>(null)
const inline = ref<string | null>('oui')
const errored = ref<string | null>(null)
const ok = ref<string | null>('oui')
const disabled = ref<string | null>('cat2')
const slotted = ref<string | null>(null)
</script>