# npm
$ npm install vue-radio-button
#yarn
$ yarn add vue-radio-buttonimport Vue from "vue";
import VueRadioButton from "vue-radio-button";
Vue.use(VueRadioButton);<template>
  <VueRadioButton v-model="selectedButton" :options="buttons">
    <template #label="{ props }">
      <img :src="props.icon" width="50" height="50" />
      <span>{{ props.title }}</span>
    </template>
  </VueRadioButton>
</template>
<script>
  import VueRadioButton from "vue-radio-button";
  export default {
    components: { VueRadioButton },
    data: () => ({
      selectedButton: "",
      buttons: [
        {
          id: 1,
          icon: "https://vuejs.org/images/logo.svg",
          title: "Vue",
        },
        {
          id: 2,
          icon: "https://vitejs.dev/logo.svg",
          title: "Vite",
        },
      ],
    }),
  };
</script>
<style>
  .v-radio-label {
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100px;
    height: 100px;
    margin: 5px;
    border-radius: 4px;
    border: 1px solid #eee;
    transition: all 500ms;
  }
  .v-radio-active {
    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.2);
  }
</style>| Key | Type | Description | Default | 
|---|---|---|---|
value | 
Object | selected button | null | 
options | 
Array | list of buttons | required | 
name | 
String , Number | Group of radio buttons | required if you have some group of radio buttons | 
For customizing you can use label slot and classes :
| Class name | Description | 
|---|---|
v-radio-container | 
container of VueRadioButton | 
v-radio-label | 
class of each label | 
v-radio-active | 
class of checked radio | 
