reka-ui
Version:
Vue port for Radix UI Primitives.
1 lines • 1.94 kB
Source Map (JSON)
{"version":3,"file":"PopoverTrigger.cjs","sources":["../../src/Popover/PopoverTrigger.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { PrimitiveProps } from '@/Primitive'\nimport { useForwardExpose, useId } from '@/shared'\n\nexport interface PopoverTriggerProps extends PrimitiveProps {}\n</script>\n\n<script setup lang=\"ts\">\nimport { onMounted } from 'vue'\nimport { injectPopoverRootContext } from './PopoverRoot.vue'\nimport { Primitive } from '@/Primitive'\nimport { PopperAnchor } from '@/Popper'\n\nconst props = withDefaults(defineProps<PopoverTriggerProps>(), {\n as: 'button',\n})\n\nconst rootContext = injectPopoverRootContext()\n\nconst { forwardRef, currentElement: triggerElement } = useForwardExpose()\n\nrootContext.triggerId ||= useId(undefined, 'reka-popover-trigger')\nonMounted(() => {\n rootContext.triggerElement.value = triggerElement.value\n})\n</script>\n\n<template>\n <component\n :is=\"rootContext.hasCustomAnchor.value ? Primitive : PopperAnchor\"\n as-child\n >\n <Primitive\n :id=\"rootContext.triggerId\"\n :ref=\"forwardRef\"\n :type=\"as === 'button' ? 'button' : undefined\"\n aria-haspopup=\"dialog\"\n :aria-expanded=\"rootContext.open.value\"\n :aria-controls=\"rootContext.contentId\"\n :data-state=\"rootContext.open.value ? 'open' : 'closed'\"\n :as=\"as\"\n :as-child=\"props.asChild\"\n @click=\"rootContext.onOpenToggle\"\n >\n <slot />\n </Primitive>\n </component>\n</template>\n"],"names":["injectPopoverRootContext","useForwardExpose","useId","onMounted"],"mappings":";;;;;;;;;;;;;;;;AAaA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAId,IAAA,MAAM,cAAcA,4CAAyB,EAAA;AAE7C,IAAA,MAAM,EAAE,UAAA,EAAY,cAAgB,EAAA,cAAA,KAAmBC,wCAAiB,EAAA;AAExE,IAAY,WAAA,CAAA,SAAA,KAAcC,kBAAM,CAAA,MAAA,EAAW,sBAAsB,CAAA;AACjE,IAAAC,aAAA,CAAU,MAAM;AACd,MAAY,WAAA,CAAA,cAAA,CAAe,QAAQ,cAAe,CAAA,KAAA;AAAA,KACnD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}