{"version":3,"file":"MenuRadioItem.cjs","sources":["../../src/Menu/MenuRadioItem.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type {\n  MenuItemEmits,\n  MenuItemProps,\n} from './MenuItem.vue'\n\nexport type MenuRadioItemEmits = MenuItemEmits\n\nexport interface MenuRadioItemProps extends MenuItemProps {\n  /** The unique value of the item. */\n  value: string\n}\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, toRefs } from 'vue'\nimport { getCheckedState } from './utils'\nimport MenuItem from './MenuItem.vue'\nimport { injectMenuRadioGroupContext } from './MenuRadioGroup.vue'\nimport { provideMenuItemIndicatorContext } from './MenuItemIndicator.vue'\n\nconst props = defineProps<MenuRadioItemProps>()\nconst emits = defineEmits<MenuRadioItemEmits>()\n\nconst { value } = toRefs(props)\nconst radioGroupContext = injectMenuRadioGroupContext()\nconst modelValue = computed(\n  () => radioGroupContext.modelValue.value === value?.value,\n)\n\nprovideMenuItemIndicatorContext({ modelValue })\n</script>\n\n<template>\n  <MenuItem\n    role=\"menuitemradio\"\n    v-bind=\"props\"\n    :aria-checked=\"modelValue\"\n    :data-state=\"getCheckedState(modelValue)\"\n    @select=\"\n      async (event) => {\n        emits('select', event);\n        radioGroupContext.onValueChange(value);\n      }\n    \"\n  >\n    <slot />\n  </MenuItem>\n</template>\n"],"names":["toRefs","injectMenuRadioGroupContext","computed","provideMenuItemIndicatorContext"],"mappings":";;;;;;;;;;;;;;;;;;;AAqBA,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAEd,IAAA,MAAM,EAAE,KAAA,EAAU,GAAAA,UAAA,CAAO,KAAK,CAAA;AAC9B,IAAA,MAAM,oBAAoBC,+CAA4B,EAAA;AACtD,IAAA,MAAM,UAAa,GAAAC,YAAA;AAAA,MACjB,MAAM,iBAAA,CAAkB,UAAW,CAAA,KAAA,KAAU,KAAO,EAAA;AAAA,KACtD;AAEA,IAAgCC,sDAAA,CAAA,EAAE,YAAY,CAAA;;;;;;;;;;;;;;;;;;;;;"}