vue3-radio-card
A tailwind based radio card component for Vue3
1,293
2
| Install | |
|---|---|
npm install vue3-radio-card |
|
| Latest Version: | 0.9.0 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Apr 1, 2024 |
| Links: | GitHub · npm |
Maintainer: gitamgadtaula
A tailwind based card type radio button for Vue3
🥳 Supports dark mode 🌑
Installation
npm install vue3-radio-card
yarn add vue3-radio-card
Usage
<template>
<div>
<RadioCard v-model="selected" :options="items" title="Choose your plan">
<!-- Item slot start -->
<template #item="{ value, price }">
<span class="font-bold text-gray-900">
<span class="text-4xl">{{ value }}</span>
<span class="text-2xl uppercase">GB</span>
</span>
<span>
<span class="text-xl font-bold text-gray-500">$</span>
<span class="text-xl font-bold text-gray-900 -ml-1"
> {{ price }}</span
>
<span class="text-xl font-semibold text-gray-500">/</span>
<span class="text-lg font-semibold text-gray-500">mo</span>
</span>
</template>
<!-- Item slot end -->
</RadioCard>
</div>
</template>
<script lang="ts" setup>
import { ref } from "vue";
import { RadioCard } from "vue3-radio-card";
import "vue3-radio-card/style.css";
const selected = ref();
const items = [
{ label: "50", value: "50", price: 5 },
{ label: "80", value: "80", price: 7 },
{ label: "100", value: "100", price: 10 },
{ label: "200", value: "200", price: 18 },
];
</script>
Props
title: String // optional
options: Array<ExtendedOption> // required
interface Option {
label: string;
value: string;
}
// Generic interface for object with optional Option keys and additional properties
interface ExtendedOption extends Option {
[key: string]: https://github.com/gitamgadtaula/vue3-radio-card/blob/HEAD/any;
}
// Example:
options = [
{
label: "50", // required
value: "50", // required
price: 5, // optional, useful for sending data in the slot template
user: { name: "John" }, // optional
},
];
Slots
- #item
Preview

Codesandbox
https://codesandbox.io/p/github/gitamgadtaula/vue-radio-card-demo/main
Github
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.9.0 | ^3.4.21 | MIT | |
| 0.8.1 | ^3.4.21 | MIT | |
| 0.8.0 | ^3.4.21 | MIT | |
| 0.7.5 | ^3.4.21 | MIT | |
| 0.7.4 | ^3.4.21 | MIT | |
| 0.7.3 | ^3.4.21 | MIT | |
| 0.7.2 | ^3.4.21 | MIT | |
| 0.7.1 | ^3.4.21 | MIT | |
| 0.7.0 | ^3.4.21 | MIT | |
| 0.6.1 | ^3.4.21 | MIT | |
| 0.6.0 | ^3.4.21 | MIT | |
| 0.5.2 | ^3.4.21 | MIT | |
| 0.5.1 | ^3.4.21 | MIT | |
| 0.5.0 | ^3.4.21 | MIT | |
| 0.4.3 | ^3.4.21 | MIT | |
| 0.4.2 | ^3.4.21 | MIT | |
| 0.4.1 | ^3.4.21 | MIT | |
| 0.4.0 | ^3.4.21 | ||
| 0.3.1 | ^3.4.21 | ||
| 0.3.0 | ^3.4.21 | ||
| 0.2.0 | ^3.4.21 | ||
| 0.1.2 | ^3.4.21 | ||
| 0.1.1 | ^3.4.21 | ||
| 0.1.0 | ^3.4.21 | ||
| 0.0.1 | ^3.4.21 | ||
| 0.0.0 | ^3.4.21 |