reka-ui
Version:
Vue port for Radix UI Primitives.
1 lines • 1.69 kB
Source Map (JSON)
{"version":3,"file":"DialogTrigger.cjs","sources":["../../src/Dialog/DialogTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\n\nexport interface DialogTriggerProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted } from 'vue'\nimport { injectDialogRootContext } from './DialogRoot.vue'\nimport { useForwardExpose, useId } from '@/shared'\nimport { Primitive } from '@/Primitive'\n\nconst props = withDefaults(defineProps<DialogTriggerProps>(), {\n as: 'button',\n})\nconst rootContext = injectDialogRootContext()\nconst { forwardRef, currentElement } = useForwardExpose()\n\nrootContext.contentId ||= useId(undefined, 'reka-dialog-content')\nonMounted(() => {\n rootContext.triggerElement.value = currentElement.value\n})\n</script>\n\n<template>\n <Primitive\n v-bind=\"props\"\n :ref=\"forwardRef\"\n :type=\"as === 'button' ? 'button' : undefined\"\n aria-haspopup=\"dialog\"\n :aria-expanded=\"rootContext.open.value || false\"\n :aria-controls=\"rootContext.open.value ? rootContext.contentId : undefined\"\n :data-state=\"rootContext.open.value ? 'open' : 'closed'\"\n @click=\"rootContext.onOpenToggle\"\n >\n <slot />\n </Primitive>\n</template>\n"],"names":["injectDialogRootContext","useForwardExpose","useId","onMounted"],"mappings":";;;;;;;;;;;;;;;AAYA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAGd,IAAA,MAAM,cAAcA,yCAAwB,EAAA;AAC5C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAe,EAAA,GAAIC,wCAAiB,EAAA;AAExD,IAAY,WAAA,CAAA,SAAA,KAAcC,kBAAM,CAAA,MAAA,EAAW,qBAAqB,CAAA;AAChE,IAAAC,aAAA,CAAU,MAAM;AACd,MAAY,WAAA,CAAA,cAAA,CAAe,QAAQ,cAAe,CAAA,KAAA;AAAA,KACnD,CAAA;;;;;;;;;;;;;;;;;;;;;;"}