{"version":3,"file":"index.mjs","sources":["../../../../src/components/Radio/index.vue"],"sourcesContent":["<template>\n  <div class=\"inline-block\">\n    <label\n      :class=\"[$slots.title ? 'items-start' : 'items-center']\"\n      class=\"flex items-center\"\n    >\n      <input\n        v-model=\"isChecked\"\n        type=\"radio\"\n        class=\"hidden\"\n        :disabled=\"disabled\"\n        :name=\"name\"\n      />\n      <div\n        class=\"relative mr-2 box-content flex h-4 w-4 flex-shrink-0 flex-grow-0 items-center justify-center rounded-full border transition-all duration-100\"\n        :class=\"[\n          isChecked\n            ? 'border-primary-500 bg-primary-500'\n            : 'border-gray-300 bg-gray-100 dark:border-gray-500 dark:bg-gray-700',\n          disabled\n            ? 'cursor-not-allowed bg-gray-200 dark:bg-gray-600'\n            : 'cursor-pointer',\n        ]\"\n      >\n        <div\n          :class=\"[isChecked ? 'opacity-1' : 'opacity-0']\"\n          class=\"h-2 w-2 rounded-full bg-white transition-all duration-100\"\n        ></div>\n      </div>\n\n      <div v-if=\"title\" class=\"w-full select-none pt-px\">\n        {{ title }}\n      </div>\n      <slot v-if=\"$slots.title\" name=\"title\" />\n    </label>\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed } from 'vue';\n\nconst props = defineProps({\n  modelValue: {\n    type: [String, Number, Boolean, Object],\n    required: true,\n  },\n  value: {\n    type: [String, Number, Boolean, Object],\n    required: true,\n  },\n  title: {\n    type: String,\n    default: '',\n  },\n  disabled: {\n    type: Boolean,\n    default: false,\n  },\n  name: {\n    type: String,\n    default: '',\n  },\n});\n\nconst emit = defineEmits(['update:modelValue', 'change']);\n\nconst isChecked = computed({\n  get() {\n    return props.modelValue === props.value;\n  },\n  set() {\n    emit('update:modelValue', props.value);\n    emit('change', props.value);\n  },\n});\n</script>\n"],"names":["props","__props","emit","__emit","isChecked","computed"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyCA,UAAMA,IAAQC,GAuBRC,IAAOC,GAEPC,IAAYC,EAAS;AAAA,MACzB,MAAM;AACG,eAAAL,EAAM,eAAeA,EAAM;AAAA,MACpC;AAAA,MACA,MAAM;AACC,QAAAE,EAAA,qBAAqBF,EAAM,KAAK,GAChCE,EAAA,UAAUF,EAAM,KAAK;AAAA,MAC5B;AAAA,IAAA,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}