{"version":3,"file":"radio-group.mjs","sources":["../../../../../../packages/components/radio/src/radio-group.vue"],"sourcesContent":["<template>\n  <div\n    :id=\"groupId\"\n    ref=\"radioGroupRef\"\n    :class=\"[\n      ns.b('group'),\n      ns.is('vertical', vertical),\n      ns.is('segment', segment),\n      ns.bm('group', size),\n    ]\"\n    role=\"radiogroup\"\n    data-test-name=\"radio-group\"\n    data-test-variant=\"\"\n    data-test-state=\"\"\n  >\n    <slot />\n  </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n  computed,\n  nextTick,\n  onMounted,\n  provide,\n  reactive,\n  ref,\n  toRefs,\n} from 'vue'\nimport { UPDATE_MODEL_EVENT } from '@bigin/constants'\nimport { radioGroupKey } from '@bigin/tokens'\nimport {\n  useFormItem,\n  useFormItemInputId,\n  useId,\n  useNamespace,\n} from '@bigin/hooks'\nimport { radioGroupEmits, radioGroupProps } from './radio-group'\nimport type { RadioGroupProps } from '..'\n\ndefineOptions({\n  name: 'BRadioGroup',\n})\n\nconst props = defineProps(radioGroupProps)\nconst emit = defineEmits(radioGroupEmits)\n\nconst ns = useNamespace('radio')\nconst radioId = useId()\nconst radioGroupRef = ref<HTMLDivElement>()\nconst { formItem } = useFormItem()\nconst { inputId: groupId } = useFormItemInputId(props, {\n  formItemContext: formItem,\n})\n\nconst changeEvent = (value: RadioGroupProps['modelValue']) => {\n  emit(UPDATE_MODEL_EVENT, value)\n  nextTick(() => emit('change', value))\n}\n\nonMounted(() => {\n  const radios =\n    radioGroupRef.value!.querySelectorAll<HTMLInputElement>('[type=radio]')\n  const firstLabel = radios[0]\n  if (!Array.from(radios).some((radio) => radio.checked) && firstLabel) {\n    firstLabel.tabIndex = 0\n  }\n})\n\nconst name = computed(() => {\n  return props.name || radioId.value\n})\n\nprovide(\n  radioGroupKey,\n  reactive({\n    ...toRefs(props),\n    changeEvent,\n    name,\n  })\n)\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;mCAwCc,CAAA;AAAA,EACZ,IAAM,EAAA,aAAA;AACR,CAAA,CAAA,CAAA;;;;;;;AAKM,IAAA,MAAA,EAAA,GAAK,aAAa,OAAO,CAAA,CAAA;AAC/B,IAAA,MAAM,UAAU,KAAM,EAAA,CAAA;AACtB,IAAA,MAAM,gBAAgB,GAAoB,EAAA,CAAA;AACpC,IAAA,MAAA,EAAE,QAAS,EAAA,GAAI,WAAY,EAAA,CAAA;AACjC,IAAA,MAAM,EAAE,OAAA,EAAS,OAAQ,EAAA,GAAI,mBAAmB,KAAO,EAAA;AAAA,MACrD,eAAiB,EAAA,QAAA;AAAA,KAClB,CAAA,CAAA;AAEK,IAAA,MAAA,WAAA,GAAc,CAAC,KAAyC,KAAA;AAC5D,MAAA,IAAA,CAAK,oBAAoB,KAAK,CAAA,CAAA;AAC9B,MAAA,QAAA,CAAS,MAAM,IAAA,CAAK,QAAU,EAAA,KAAK,CAAC,CAAA,CAAA;AAAA,KACtC,CAAA;AAEA,IAAA,SAAA,CAAU,MAAM;AACd,MAAA,MAAM,MACJ,GAAA,aAAA,CAAc,KAAO,CAAA,gBAAA,CAAmC,cAAc,CAAA,CAAA;AACxE,MAAA,MAAM,aAAa,MAAO,CAAA,CAAA,CAAA,CAAA;AACtB,MAAA,IAAA,CAAC,KAAM,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,IAAK,CAAA,CAAC,KAAU,KAAA,KAAA,CAAM,OAAO,CAAA,IAAK,UAAY,EAAA;AACpE,QAAA,UAAA,CAAW,QAAW,GAAA,CAAA,CAAA;AAAA,OACxB;AAAA,KACD,CAAA,CAAA;AAEK,IAAA,MAAA,IAAA,GAAO,SAAS,MAAM;AACnB,MAAA,OAAA,KAAA,CAAM,QAAQ,OAAQ,CAAA,KAAA,CAAA;AAAA,KAC9B,CAAA,CAAA;AAED,IAAA,OAAA;AAAA,MACE,aAAA;AAAA,MACA,QAAS,CAAA;AAAA,QACP,GAAG,OAAO,KAAK,CAAA;AAAA,QACf,WAAA;AAAA,QACA,IAAA;AAAA,OACD,CAAA;AAAA,KACH,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}