popover
shadcn-solidjs/popoverFreeComponent
shadcn-solidjs publishes no description for this item.
Live preview
live · rendered by the registry
Rendered by shadcn-solidjs on their own page — this is the component running, not a screenshot of it.Install it
npx shadcn@latest add https://shadcn-solidjs.com/r/popover.jsonSource
1import type { PolymorphicProps } from "@kobalte/core/polymorphic";2import * as PopoverPrimitive from "@kobalte/core/popover";34import { cn } from "~/lib/utils.ts";5import type { Component, ComponentProps, ValidComponent } from "solid-js";67import { splitProps } from "solid-js";89const Popover: Component<PopoverPrimitive.PopoverRootProps> = (props) => {10 return <PopoverPrimitive.Root data-slot="popover" gutter={4} {...props} />;11};1213type PopoverTriggerProps<T extends ValidComponent = "button"> =14 & PopoverPrimitive.PopoverTriggerProps<T>15 & { class?: string | undefined };1617const PopoverTrigger = <T extends ValidComponent = "button">(18 props: PolymorphicProps<T, PopoverTriggerProps<T>>,19) => {20 return (21 <PopoverPrimitive.Trigger22 data-slot="popover-trigger"23 {...(props as PopoverTriggerProps)}24 />25 );26};2728type PopoverContentProps<T extends ValidComponent = "div"> =29 & PopoverPrimitive.PopoverContentProps<T>30 & { class?: string | undefined };3132const PopoverContent = <T extends ValidComponent = "div">(33 props: PolymorphicProps<T, PopoverContentProps<T>>,34) => {35 const [local, others] = splitProps(props as PopoverContentProps, ["class"]);36 return (37 <PopoverPrimitive.Portal>38 <PopoverPrimitive.Content39 data-slot="popover-content"40 class={cn(41 "bg-popover text-popover-foreground data-expanded:animate-in data-closed:animate-out data-closed:fade-out-0 data-expanded:fade-in-0 data-closed:zoom-out-95 data-expanded:zoom-in-95 ring-foreground/10 flex flex-col gap-2.5 rounded-lg p-2.5 text-sm shadow-md ring-1 duration-100 z-50 w-72 origin-(--kb-popover-content-transform-origin) outline-hidden",42 local.class,43 )}44 {...others}45 />46 </PopoverPrimitive.Portal>47 );48};4950type PopoverAnchorProps<T extends ValidComponent = "div"> =51 PopoverPrimitive.PopoverAnchorProps<T>;5253const PopoverAnchor = <T extends ValidComponent = "div">(54 props: PolymorphicProps<T, PopoverAnchorProps<T>>,55) => {56 return (57 <PopoverPrimitive.Anchor58 data-slot="popover-anchor"59 {...(props as PopoverAnchorProps)}60 />61 );62};6364const PopoverHeader: Component<ComponentProps<"div">> = (props) => {65 const [local, others] = splitProps(props, ["class"]);66 return (67 <div68 data-slot="popover-header"69 class={cn("flex flex-col gap-0.5 text-sm", local.class)}70 {...others}71 />72 );73};7475type PopoverTitleProps<T extends ValidComponent = "h2"> =76 & PopoverPrimitive.PopoverTitleProps<T>77// … truncated
What it pulls in
npm packages
More from shadcn-solidjs
All 85 items| Component | Registry | Kind | Access | Installs | Command |
|---|---|---|---|---|---|
| accordionaccordion | shadcn-solidjs | Components | Free | 1 dep | |
| alertalert | shadcn-solidjs | Components | Free | 2 deps | |
| alert-dialogalert-dialog | shadcn-solidjs | Components | Free | 2 deps | |
| aspect-ratioaspect-ratio | shadcn-solidjs | Components | Free | no deps | |
| attachmentattachment | shadcn-solidjs | Components | Free | 2 deps | |
| avataravatar | shadcn-solidjs | Components | Free | 1 dep | |
| badgebadge | shadcn-solidjs | Components | Free | 2 deps | |
| breadcrumbbreadcrumb | shadcn-solidjs | Components | Free | 1 dep |
