# Popover Free-form anchored floating panel. Choose Popover for compact contextual content or controls anchored to a trigger. ## API The package declarations define these public members. | Member | Type | Kind | Required | Default | Description | | --- | --- | --- | --- | --- | --- | | `anchor` | `HTMLElement \| Measurable \| null` | prop | No | `null` | Position the panel against this instead of the trigger. Accepts a real element or anything that can report a rect (e.g. a virtual caret). | | `children` | `Snippet` | snippet | Yes | - | Panel content. | | `flush` | `boolean` | prop | No | `false` | Remove the built-in panel padding for edge-to-edge content. | | `focusOnOpen` | `boolean` | prop | No | `true` | Move focus into the panel when it opens. Pass `false` to leave the caret where it is — for a mention menu over a textarea, say. With `false` the panel is never focused, so **the caller owns the ARIA wiring** on the input side: `role="combobox"`, `aria-expanded`, `aria-controls`, `aria-activedescendant`. | | `onOpenChange` | `(open: boolean) => void` | callback | No | `undefined` | No additional description. | | `open` | `boolean` | binding | No | `false` | Two-way panel open state. | | `placement` | `PopoverPlacement` | prop | No | `'bottom'` | No additional description. | | `sameWidth` | `boolean` | prop | No | `false` | Match the panel width to the trigger width. | | `trigger` | `Snippet \| Snippet<[Record]> \| undefined` | snippet | No | `undefined` | Custom anchor snippet. Pair it with `triggerMode` to select the migration strategy. | | `triggerMode` | `'delegated' \| 'legacy' \| never` | prop | No | `undefined` | Required with `trigger`. `delegated` passes props to the control; `legacy` preserves the deprecated wrapper. | ## Related - [CommandPalette](/docs/components/command-palette): Searchable command dialog with grouped results. - [Modal](/docs/components/modal): Dialog or confirmation modal selected with a required kind and delegated trigger. - [Sheet](/docs/components/sheet): Edge-anchored dialog panel with optional body padding.