UNPKG

reka-ui

Version:

Vue port for Radix UI Primitives.

1 lines 1.9 kB
{"version":3,"file":"MenuRadioGroup.cjs","sources":["../../src/Menu/MenuRadioGroup.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { MenuGroupProps } from './MenuGroup.vue'\nimport { createContext } from '@/shared'\n\ninterface MenuRadioGroupContext {\n modelValue: Ref<string>\n onValueChange: (payload: string) => void\n}\n\nexport interface MenuRadioGroupProps extends MenuGroupProps {\n /** The value of the selected item in the group. */\n modelValue?: string\n}\n\nexport type MenuRadioGroupEmits = {\n /** Event handler called when the value changes. */\n 'update:modelValue': [payload: string]\n}\n\nexport const [injectMenuRadioGroupContext, provideMenuRadioGroupContext]\n = createContext<MenuRadioGroupContext>('MenuRadioGroup')\n</script>\n\n<script setup lang=\"ts\">\nimport { useVModel } from '@vueuse/core'\nimport MenuGroup from './MenuGroup.vue'\n\nconst props = withDefaults(defineProps<MenuRadioGroupProps>(), {\n modelValue: '',\n})\nconst emits = defineEmits<MenuRadioGroupEmits>()\n\ndefineSlots<{\n default: (props: {\n /** Current input values */\n modelValue: typeof modelValue.value\n }) => any\n}>()\n\nconst modelValue = useVModel(props, 'modelValue', emits)\n\nprovideMenuRadioGroupContext({\n modelValue,\n onValueChange: (payload) => {\n modelValue.value = payload\n },\n})\n</script>\n\n<template>\n <MenuGroup v-bind=\"props\">\n <slot :model-value=\"modelValue\" />\n </MenuGroup>\n</template>\n"],"names":["createContext","useVModel"],"mappings":";;;;;;;AAoBO,MAAM,CAAC,2BAAA,EAA6B,4BAA4B,CAAA,GACnEA,mCAAqC,gBAAgB;;;;;;;;;;AAOzD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAGd,IAAA,MAAM,KAAQ,GAAA,MAAA;AASd,IAAA,MAAM,UAAa,GAAAC,cAAA,CAAU,KAAO,EAAA,YAAA,EAAc,KAAK,CAAA;AAEvD,IAA6B,4BAAA,CAAA;AAAA,MAC3B,UAAA;AAAA,MACA,aAAA,EAAe,CAAC,OAAY,KAAA;AAC1B,QAAA,UAAA,CAAW,KAAQ,GAAA,OAAA;AAAA;AACrB,KACD,CAAA;;;;;;;;;;;;;;;"}