reka-ui
Version:
Vue port for Radix UI Primitives.
1 lines • 2.66 kB
Source Map (JSON)
{"version":3,"file":"MenubarMenu.cjs","sources":["../../src/Menubar/MenubarMenu.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport { createContext, useForwardExpose, useId } from '@/shared'\n\nexport interface MenubarMenuProps {\n /**\n * A unique value that associates the item with an active value when the navigation menu is controlled.\n *\n * This prop is managed automatically when uncontrolled.\n */\n value?: string\n}\n\ntype MenubarMenuContext = {\n value: string\n triggerId: string\n triggerElement: Ref<HTMLElement | undefined>\n contentId: string\n wasKeyboardTriggerOpenRef: Ref<boolean>\n}\n\nexport const [injectMenubarMenuContext, provideMenubarMenuContext]\n = createContext<MenubarMenuContext>('MenubarMenu')\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, ref, watch } from 'vue'\nimport { injectMenubarRootContext } from './MenubarRoot.vue'\nimport { MenuRoot } from '@/Menu'\n\nconst props = defineProps<MenubarMenuProps>()\n\nconst value = useId(props.value)\nconst rootContext = injectMenubarRootContext()\nuseForwardExpose()\n\nconst triggerElement = ref<HTMLElement>()\nconst wasKeyboardTriggerOpenRef = ref(false)\n\nconst open = computed(() => rootContext.modelValue.value === value)\n\nwatch(open, () => {\n if (!open.value)\n wasKeyboardTriggerOpenRef.value = false\n})\n\nprovideMenubarMenuContext({\n value,\n triggerElement,\n triggerId: value,\n contentId: '',\n wasKeyboardTriggerOpenRef,\n})\n</script>\n\n<template>\n <MenuRoot\n :open=\"open\"\n :modal=\"false\"\n :dir=\"rootContext.dir.value\"\n @update:open=\"\n (value) => {\n // Menu only calls `@update:open` when dismissing so we\n // want to close our MenuBar based on the same events.\n if (!value) rootContext.onMenuClose();\n }\n \"\n >\n <slot />\n </MenuRoot>\n</template>\n"],"names":["createContext","useId","injectMenubarRootContext","useForwardExpose","ref","computed","watch"],"mappings":";;;;;;;;;AAqBO,MAAM,CAAC,wBAAA,EAA0B,yBAAyB,CAAA,GAC7DA,mCAAkC,aAAa;;;;;;;AAQnD,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAM,MAAA,KAAA,GAAQC,kBAAM,CAAA,KAAA,CAAM,KAAK,CAAA;AAC/B,IAAA,MAAM,cAAcC,4CAAyB,EAAA;AAC7C,IAAiBC,wCAAA,EAAA;AAEjB,IAAA,MAAM,iBAAiBC,OAAiB,EAAA;AACxC,IAAM,MAAA,yBAAA,GAA4BA,QAAI,KAAK,CAAA;AAE3C,IAAA,MAAM,OAAOC,YAAS,CAAA,MAAM,WAAY,CAAA,UAAA,CAAW,UAAU,KAAK,CAAA;AAElE,IAAAC,SAAA,CAAM,MAAM,MAAM;AAChB,MAAA,IAAI,CAAC,IAAK,CAAA,KAAA;AACR,QAAA,yBAAA,CAA0B,KAAQ,GAAA,KAAA;AAAA,KACrC,CAAA;AAED,IAA0B,yBAAA,CAAA;AAAA,MACxB,KAAA;AAAA,MACA,cAAA;AAAA,MACA,SAAW,EAAA,KAAA;AAAA,MACX,SAAW,EAAA,EAAA;AAAA,MACX;AAAA,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;"}