UNPKG

reka-ui

Version:

Vue port for Radix UI Primitives.

1 lines 2.4 kB
{"version":3,"file":"ContextMenuRoot.cjs","sources":["../../src/ContextMenu/ContextMenuRoot.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Ref } from 'vue'\nimport type { Direction } from '@/shared/types'\nimport { createContext, useDirection, useForwardExpose } from '@/shared'\nimport type { MenuEmits, MenuProps } from '@/Menu'\n\ntype ContextMenuRootContext = {\n open: Ref<boolean>\n onOpenChange: (open: boolean) => void\n modal: Ref<boolean>\n dir: Ref<Direction>\n triggerElement: Ref<HTMLElement | undefined>\n}\n\nexport interface ContextMenuRootProps extends Omit<MenuProps, 'open'> {}\nexport type ContextMenuRootEmits = MenuEmits\n\nexport const [injectContextMenuRootContext, provideContextMenuRootContext]\n = createContext<ContextMenuRootContext>('ContextMenuRoot')\n</script>\n\n<script setup lang=\"ts\">\nimport { ref, toRefs, watch } from 'vue'\nimport { MenuRoot } from '@/Menu'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst props = withDefaults(defineProps<ContextMenuRootProps>(), {\n modal: true,\n})\nconst emits = defineEmits<ContextMenuRootEmits>()\nconst { dir: propDir, modal } = toRefs(props)\nuseForwardExpose()\nconst dir = useDirection(propDir)\n\nconst open = ref(false)\nconst triggerElement = ref<HTMLElement>()\n\nprovideContextMenuRootContext({\n open,\n onOpenChange: (value: boolean) => {\n open.value = value\n },\n dir,\n modal,\n triggerElement,\n})\n\nwatch(open, (value) => {\n emits('update:open', value)\n})\n</script>\n\n<template>\n <MenuRoot\n v-model:open=\"open\"\n :dir=\"dir\"\n :modal=\"modal\"\n >\n <slot />\n </MenuRoot>\n</template>\n"],"names":["createContext","toRefs","useForwardExpose","useDirection","ref","watch"],"mappings":";;;;;;;;AAiBO,MAAM,CAAC,4BAAA,EAA8B,6BAA6B,CAAA,GACrEA,mCAAsC,iBAAiB;;;;;;;;;;;;AAW3D,IAAA,MAAM,KAAQ,GAAA,OAAA;AAGd,IAAA,MAAM,KAAQ,GAAA,MAAA;AACd,IAAA,MAAM,EAAE,GAAK,EAAA,OAAA,EAAS,KAAM,EAAA,GAAIC,WAAO,KAAK,CAAA;AAC5C,IAAiBC,wCAAA,EAAA;AACjB,IAAM,MAAA,GAAA,GAAMC,iCAAa,OAAO,CAAA;AAEhC,IAAM,MAAA,IAAA,GAAOC,QAAI,KAAK,CAAA;AACtB,IAAA,MAAM,iBAAiBA,OAAiB,EAAA;AAExC,IAA8B,6BAAA,CAAA;AAAA,MAC5B,IAAA;AAAA,MACA,YAAA,EAAc,CAAC,KAAmB,KAAA;AAChC,QAAA,IAAA,CAAK,KAAQ,GAAA,KAAA;AAAA,OACf;AAAA,MACA,GAAA;AAAA,MACA,KAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAMC,SAAA,CAAA,IAAA,EAAM,CAAC,KAAU,KAAA;AACrB,MAAA,KAAA,CAAM,eAAe,KAAK,CAAA;AAAA,KAC3B,CAAA;;;;;;;;;;;;;;;;;;;;"}