{"version":3,"file":"radio2.mjs","sources":["../../../../../../packages/components/radio/src/radio.vue"],"sourcesContent":["<template>\n  <label\n    :class=\"[\n      ns.b(),\n      ns.is('disabled', disabled),\n      ns.is('focus', focus),\n      ns.is('icon', Boolean(icon || $slots.icon)),\n      ns.is('checked', modelValue === value),\n      ns.is('plain', plain),\n      ns.m(size),\n    ]\"\n    data-test-name=\"radio\"\n    data-test-variant=\"\"\n    data-test-state=\"\"\n  >\n    <span\n      :class=\"[\n        ns.e('input'),\n        ns.is('disabled', disabled),\n        ns.is('checked', modelValue === value),\n      ]\"\n    >\n      <input\n        ref=\"radioRef\"\n        v-model=\"modelValue\"\n        :class=\"ns.e('original')\"\n        :value=\"value\"\n        :name=\"name || radioGroup?.name\"\n        :disabled=\"disabled\"\n        type=\"radio\"\n        @focus=\"focus = true\"\n        @blur=\"focus = false\"\n        @change=\"handleChange\"\n      />\n      <span :class=\"ns.e('inner')\" />\n    </span>\n    <span\n      :class=\"[\n        ns.e('label'),\n        ns.is('has-sub', Boolean($slots.sub || sub)),\n        ns.is('has-icon', Boolean($slots.icon || icon)),\n      ]\"\n      @keydown.stop\n    >\n      <b-icon v-if=\"$slots.icon || icon\" :size=\"40\" :class=\"ns.e('icon')\">\n        <slot name=\"icon\">\n          <component :is=\"icon\" />\n        </slot>\n      </b-icon>\n      <slot>\n        {{ label }}\n      </slot>\n      <span v-if=\"$slots.sub || sub\" :class=\"ns.e('sub')\">\n        <slot name=\"sub\">\n          {{ sub }}\n        </slot>\n      </span>\n    </span>\n  </label>\n</template>\n\n<script lang=\"ts\" setup>\nimport { nextTick } from 'vue'\nimport { useNamespace } from '@bigin/hooks'\nimport BIcon from '@bigin/components/icon'\nimport { radioEmits, radioProps } from './radio'\nimport { useRadio } from './use-radio'\n\ndefineOptions({\n  name: 'BRadio',\n})\n\nconst props = defineProps(radioProps)\nconst emit = defineEmits(radioEmits)\n\nconst ns = useNamespace('radio')\nconst { radioRef, radioGroup, focus, size, disabled, modelValue } = useRadio(\n  props,\n  emit\n)\n\nfunction handleChange() {\n  nextTick(() => emit('change', modelValue.value))\n}\n</script>\n"],"names":[],"mappings":";;;;;;;;;mCAoEc,CAAA;AAAA,EACZ,IAAM,EAAA,QAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKM,IAAA,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA,CAAA;AAC/B,IAAA,MAAM,EAAE,QAAU,EAAA,UAAA,EAAY,OAAO,IAAM,EAAA,QAAA,EAAU,YAAe,GAAA,QAAA;AAAA,MAClE,KAAA;AAAA,MACA,IAAA;AAAA,KACF,CAAA;AAEA,IAAA,SAAS,YAAe,GAAA;AACtB,MAAA,QAAA,CAAS,MAAM,IAAA,CAAK,QAAU,EAAA,UAAA,CAAW,KAAK,CAAC,CAAA,CAAA;AAAA,KACjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}