@baseplate-dev/ui-components
Version:
Shared UI component library
23 lines • 1.62 kB
JavaScript
'use client';
import { jsx as _jsx } from "react/jsx-runtime";
import { Popover as PopoverPrimitive } from 'radix-ui';
import { cn } from '#src/utils/index.js';
/**
* Displays rich content in a portal, triggered by a button.
*
* https://ui.shadcn.com/docs/components/popover
*/
function Popover({ ...props }) {
return _jsx(PopoverPrimitive.Root, { "data-slot": "popover", ...props });
}
function PopoverTrigger({ ...props }) {
return _jsx(PopoverPrimitive.Trigger, { "data-slot": "popover-trigger", ...props });
}
function PopoverContent({ className, align = 'center', sideOffset = 4, width = 'default', padding = 'default', ...props }) {
return (_jsx(PopoverPrimitive.Portal, { children: _jsx(PopoverPrimitive.Content, { "data-slot": "popover-content", align: align, sideOffset: sideOffset, className: cn('z-50 origin-(--radix-popover-content-transform-origin) rounded-md border bg-popover text-popover-foreground shadow-md outline-hidden data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95', width === 'none' ? '' : 'w-72', padding === 'none' ? 'p-0' : 'p-4', className), ...props }) }));
}
function PopoverAnchor({ ...props }) {
return _jsx(PopoverPrimitive.Anchor, { "data-slot": "popover-anchor", ...props });
}
export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger };
//# sourceMappingURL=popover.js.map