children?ReactNodecloseOnClickAway?booleantruedefaultOpen?booleanfalseflipDisabled?booleanfalseisOpen?booleanonChange?(isOpen: boolean) => voidplacement?Placement'bottom-start'role?'dialog'|'menu'|'listbox''menu'trapFocus?booleantrue| Prop | Type | Default |
|---|---|---|
children? | ReactNode | - |
closeOnClickAway? | boolean | true |
defaultOpen? | boolean | false |
flipDisabled? | boolean | false |
isOpen? | boolean | - |
onChange? | (isOpen: boolean) => void | - |
placement? | Placement | 'bottom-start' |
role? | 'dialog' |
renderItem(props: PopoverTriggerProps) => ReactElement| Prop | Type | Default |
|---|---|---|
renderItem | (props: PopoverTriggerProps) => ReactElement | - |
renderItem(props: PopoverContentProps) => ReactElementanimation?'scale'|'fade''scale'| Prop | Type | Default |
|---|---|---|
renderItem | (props: PopoverContentProps) => ReactElement | - |
animation? | 'scale'|'fade' | 'scale' |
'menu''listbox''menu' |
trapFocus? | boolean | true |
import { Popover } from '@k8ordo/ui';<Popover.Root>
<Popover.Trigger
renderItem={(props) => (
<Button {...props} type="button">
Open Popover
</Button>
)}
/>
<Popover.Content
renderItem={(props) => (
<div
className="rounded-lg bg-bg-raised p-4 shadow-md"
{...props}
>
<p>Popover content goes here.</p>
</div>
)}
/>
</Popover.Root><Popover.Root placement="top">
<Popover.Trigger
renderItem={(props) => (
<Button {...props} type="button">Top</Button>
)}
/>
<Popover.Content
renderItem={(props) => (
<div className="rounded-lg bg-bg-raised p-4 shadow-md" {...props}>
<p>Top placement</p>
</div>
)}
/>
</Popover.Root>
<Popover.Root placement="right">
<Popover.Trigger
renderItem={(props) => (
<Button {...props} type="button">Right</Button>
)}
/>
<Popover.Content
renderItem={(props) => (
<div className="rounded-lg bg-bg-raised p-4 shadow-md" {...props}>
<p>Right placement</p>
</div>
)}
/>
</Popover.Root>
<Popover.Root placement="bottom">
<Popover.Trigger
renderItem={(props) => (
<Button {...props} type="button">Bottom</Button>
)}
/>
<Popover.Content
renderItem={(props) => (
<div className="rounded-lg bg-bg-raised p-4 shadow-md" {...props}>
<p>Bottom placement</p>
</div>
)}
/>
</Popover.Root>
<Popover.Root placement="left">
<Popover.Trigger
renderItem={(props) => (
<Button {...props} type="button">Left</Button>
)}
/>
<Popover.Content
renderItem={(props) => (
<div className="rounded-lg bg-bg-raised p-4 shadow-md" {...props}>
<p>Left placement</p>
</div>
)}
/>
</Popover.Root>