Popover
basecn/popoverFreeComponent
Displays rich content in a portal, triggered by a button.
Live preview
live · rendered by the registry
Rendered by basecn on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://basecn.dev/r/popover.jsonSource
1import * as React from "react";2import { Popover as PopoverPrimitive } from "@base-ui/react/popover";34import { cn } from "@/lib/utils";56function Popover({ ...props }: PopoverPrimitive.Root.Props) {7 return <PopoverPrimitive.Root data-slot="popover" {...props} />;8}910function PopoverTrigger({ ...props }: PopoverPrimitive.Trigger.Props) {11 return <PopoverPrimitive.Trigger data-slot="popover-trigger" {...props} />;12}1314function PopoverPositioner({15 sideOffset = 4,16 portal,17 className,18 ...props19}: PopoverPrimitive.Positioner.Props & {20 portal?: PopoverPrimitive.Portal.Props;21}) {22 return (23 <PopoverPrimitive.Portal {...portal}>24 <PopoverPrimitive.Positioner25 data-slot="popover-positioner"26 sideOffset={sideOffset}27 className={cn("z-50", className)}28 {...props}29 />30 </PopoverPrimitive.Portal>31 );32}3334function PopoverContent({ className, ...props }: PopoverPrimitive.Popup.Props) {35 return (36 <PopoverPrimitive.Popup37 data-slot="popover-content"38 className={cn(39 "bg-popover text-popover-foreground data-[open]:animate-in data-[closed]:animate-out data-[closed]:fade-out-0 data-[open]:fade-in-0 data-[closed]:zoom-out-95 data-[open]:zoom-in-95 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 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",40 className41 )}42 {...props}43 />44 );45}4647function PopoverAnchor({ ...props }: PopoverPrimitive.Arrow.Props) {48 return <PopoverPrimitive.Arrow data-slot="popover-anchor" {...props} />;49}5051export {52 Popover,53 PopoverTrigger,54 PopoverContent,55 PopoverAnchor,56 PopoverPositioner,57};
What it pulls in
npm packages
Files it writes
More from basecn
All 56 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| Accordionaccordion | basecn | Components | Free | 2 deps | |
| Alertalert | basecn | Components | Free | 1 dep | |
| Alert Dialogalert-dialog | basecn | Components | Free | 1 dep | |
| Aspect Ratioaspect-ratio | basecn | Components | Free | no deps | |
| Autocompleteautocomplete | basecn | Components | Free | 2 deps | |
| Avataravatar | basecn | Components | Free | 1 dep | |
| Badgebadge | basecn | Components | Free | 2 deps | |
| Breadcrumbbreadcrumb | basecn | Components | Free | 2 deps |
