radio-group

Avatar based card radio group

Avatar based card radio group

Загрузка превью…

src/radio-group/c-radio-group-12.vue

<!--
  Расхождение с апстримом: реальные unsplash URL заменены локальным 1x1
  data-URI (`PIXEL`, та же константа что в `block-badge`/`block-card`) —
  реальный сетевой запрос в headless-стенде недетерминирован.
-->
<script setup lang="ts">
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"
import { Field, FieldLabel, FieldTitle } from "@/components/ui/field"
import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group"

const PIXEL =
  "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAUwAOw=="
</script>

<template>
  <RadioGroup default-value="emma" class="w-full max-w-xs">
    <FieldLabel for="emma-wilson" class="p-0!">
      <Field orientation="horizontal">
        <FieldTitle class="flex items-center gap-2">
          <Avatar>
            <AvatarImage :src="PIXEL" alt="Emma Wilson" />
            <AvatarFallback>EW</AvatarFallback>
          </Avatar>
          <div class="flex flex-col items-start">
            <span class="text-sm font-semibold">Emma Wilson</span>
            <span class="text-muted-foreground text-xs">@emmawilson</span>
          </div>
        </FieldTitle>
        <RadioGroupItem value="emma" id="emma-wilson" />
      </Field>
    </FieldLabel>
    <FieldLabel for="john-doe" class="p-0!">
      <Field orientation="horizontal">
        <FieldTitle class="flex items-center gap-2">
          <Avatar>
            <AvatarImage :src="PIXEL" alt="John Doe" />
            <AvatarFallback>JD</AvatarFallback>
          </Avatar>
          <div class="flex flex-col items-start">
            <span class="text-sm font-semibold">John Doe</span>
            <span class="text-muted-foreground text-xs">@johndoe</span>
          </div>
        </FieldTitle>
        <RadioGroupItem value="john" id="john-doe" />
      </Field>
    </FieldLabel>
  </RadioGroup>
</template>

Установка

npx shadcn-vue@latest add https://revueui.rootapi.dev/r/c-radio-group-12.json

Зависимости реестра

Источник: порт из ReUI (Keenthemes, MIT)