{
  "name": "popover",
  "type": "registry:ui",
  "dependencies": [
    "@vueuse/core",
    "reka-ui"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "ui/popover/Popover.vue",
      "type": "registry:ui",
      "content": "<script setup lang=\"ts\">\nimport type { PopoverRootEmits, PopoverRootProps } from \"reka-ui\"\nimport { PopoverRoot, useForwardPropsEmits } from \"reka-ui\"\n\nconst props = defineProps<PopoverRootProps>()\nconst emits = defineEmits<PopoverRootEmits>()\n\nconst forwarded = useForwardPropsEmits(props, emits)\n</script>\n\n<template>\n  <PopoverRoot\n    v-slot=\"slotProps\"\n    data-slot=\"popover\"\n    v-bind=\"forwarded\"\n  >\n    <slot v-bind=\"slotProps\" />\n  </PopoverRoot>\n</template>\n"
    },
    {
      "path": "ui/popover/PopoverAnchor.vue",
      "type": "registry:ui",
      "content": "<script setup lang=\"ts\">\nimport type { PopoverAnchorProps } from \"reka-ui\"\nimport { PopoverAnchor } from \"reka-ui\"\n\nconst props = defineProps<PopoverAnchorProps>()\n</script>\n\n<template>\n  <PopoverAnchor\n    data-slot=\"popover-anchor\"\n    v-bind=\"props\"\n  >\n    <slot />\n  </PopoverAnchor>\n</template>\n"
    },
    {
      "path": "ui/popover/PopoverContent.vue",
      "type": "registry:ui",
      "content": "<script setup lang=\"ts\">\nimport type { PopoverContentEmits, PopoverContentProps } from \"reka-ui\"\nimport type { HTMLAttributes } from \"vue\"\nimport { reactiveOmit } from \"@vueuse/core\"\nimport {\n  PopoverContent,\n  PopoverPortal,\n  useForwardPropsEmits,\n} from \"reka-ui\"\nimport { cn } from \"@/lib/utils\"\n\ndefineOptions({\n  inheritAttrs: false,\n})\n\nconst props = withDefaults(\n  defineProps<PopoverContentProps & { class?: HTMLAttributes[\"class\"] }>(),\n  {\n    align: \"center\",\n    sideOffset: 4,\n  },\n)\nconst emits = defineEmits<PopoverContentEmits>()\n\nconst delegatedProps = reactiveOmit(props, \"class\")\n\nconst forwarded = useForwardPropsEmits(delegatedProps, emits)\n</script>\n\n<template>\n  <PopoverPortal>\n    <PopoverContent\n      data-slot=\"popover-content\"\n      v-bind=\"{ ...$attrs, ...forwarded }\"\n      :class=\"\n        cn(\n          'cn-popover-content z-50 w-72 max-w-(--reka-popover-content-available-width) origin-(--reka-popover-content-transform-origin) outline-hidden',\n          props.class,\n        )\n      \"\n    >\n      <slot />\n    </PopoverContent>\n  </PopoverPortal>\n</template>\n"
    },
    {
      "path": "ui/popover/PopoverDescription.vue",
      "type": "registry:ui",
      "content": "<script setup lang=\"ts\">\nimport type { HTMLAttributes } from \"vue\"\nimport { cn } from \"@/lib/utils\"\n\nconst props = defineProps<{\n  class?: HTMLAttributes[\"class\"]\n}>()\n</script>\n\n<template>\n  <p\n    data-slot=\"popover-description\"\n    :class=\"cn('cn-popover-description', props.class)\"\n  >\n    <slot />\n  </p>\n</template>\n"
    },
    {
      "path": "ui/popover/PopoverHeader.vue",
      "type": "registry:ui",
      "content": "<script setup lang=\"ts\">\nimport type { HTMLAttributes } from \"vue\"\nimport { cn } from \"@/lib/utils\"\n\nconst props = defineProps<{\n  class?: HTMLAttributes[\"class\"]\n}>()\n</script>\n\n<template>\n  <div\n    data-slot=\"popover-header\"\n    :class=\"cn('cn-popover-header', props.class)\"\n  >\n    <slot />\n  </div>\n</template>\n"
    },
    {
      "path": "ui/popover/PopoverTitle.vue",
      "type": "registry:ui",
      "content": "<script setup lang=\"ts\">\nimport type { HTMLAttributes } from \"vue\"\nimport { cn } from \"@/lib/utils\"\n\nconst props = defineProps<{\n  class?: HTMLAttributes[\"class\"]\n}>()\n</script>\n\n<template>\n  <div\n    data-slot=\"popover-title\"\n    :class=\"cn('cn-popover-title cn-font-heading', props.class)\"\n  >\n    <slot />\n  </div>\n</template>\n"
    },
    {
      "path": "ui/popover/PopoverTrigger.vue",
      "type": "registry:ui",
      "content": "<script setup lang=\"ts\">\nimport type { PopoverTriggerProps } from \"reka-ui\"\nimport { PopoverTrigger } from \"reka-ui\"\n\nconst props = defineProps<PopoverTriggerProps>()\n</script>\n\n<template>\n  <PopoverTrigger\n    data-slot=\"popover-trigger\"\n    v-bind=\"props\"\n  >\n    <slot />\n  </PopoverTrigger>\n</template>\n"
    },
    {
      "path": "ui/popover/index.ts",
      "type": "registry:ui",
      "content": "export { default as Popover } from \"./Popover.vue\"\nexport { default as PopoverAnchor } from \"./PopoverAnchor.vue\"\nexport { default as PopoverContent } from \"./PopoverContent.vue\"\nexport { default as PopoverDescription } from \"./PopoverDescription.vue\"\nexport { default as PopoverHeader } from \"./PopoverHeader.vue\"\nexport { default as PopoverTitle } from \"./PopoverTitle.vue\"\nexport { default as PopoverTrigger } from \"./PopoverTrigger.vue\"\n"
    }
  ]
}
