Skip to content

prosekit/solid/inline-popover

InlinePopoverProps

Props for the InlinePopover component.

altBoundary?: boolean

Whether to check the alternate elementContext’s boundary. Please see https://floating-ui.com/docs/detectoverflow#altboundary for more information.

Default: false

autoUpdate?: boolean | AutoUpdateOptions

Options to activate auto-update listeners

See

https://floating-ui.com/docs/autoUpdate

Default: true

boundary?: Boundary

Describes the clipping element(s) or area that overflow will be checked relative to. Please see https://floating-ui.com/docs/detectoverflow#boundary for more information.

Default: 'clippingAncestors'

defaultOpen?: boolean

Whether the popover is open by default when some inline content is selected.

When defaultOpen is true, the popover will open or close based on the inline selection. When defaultOpen is false, the popover will never be opened unless the open prop is true.

Default: true

dismissOnEscape?: boolean

Whether the inline popover should be dismissed when the editor receives an Escape key press.

Default: true

elementContext?: ElementContext

The element that will be used to check for overflow. Please see https://floating-ui.com/docs/detectoverflow#elementcontext for more information.

Default: 'floating'

fitViewport?: boolean

Whether to constrain the floating element's width and height to not exceed the viewport.

Default: false

flip?: boolean | Placement[]

Whether to flip the placement in order to keep it in view when the preferred placement(s) will overflow the clipping boundary. You can also provide an array of placements to try sequentially if the preferred placement does not fit.

Default: true

hide?: boolean

Default: true

hoist?: boolean

Whether to use the browser Popover API to place the floating element on top of other page content. When enabled, the floating element won't be clipped by an ancestor. This provides a similar result to React's <Portals> or Vue's <Teleport>.

Default: true

inline?: boolean

Default: true

offset?: OffsetOptions

Default: 12

onOpenChange?: (event: boolean) => void

open?: boolean

Whether the popover is open.

Notice that the popover will be always hidden if the inline selection is empty.

Default: false

overflowPadding?: number

Default: 8

overlap?: boolean

Default: true

placement?: Placement

Default: "top"

rootBoundary?: RootBoundary

Describes the root boundary that the element will be checked for overflow relative to. Please see https://floating-ui.com/docs/detectoverflow#rootboundary for more information.

Default: 'viewport'

sameHeight?: boolean

Whether to constrain the floating element's height so that it matches the reference element.

Default: false

sameWidth?: boolean

Whether to constrain the floating element's width so that it matches the reference element.

Default: false

shift?: boolean

Whether the floating element should shift to keep it in view.

Default: true

strategy?: "fixed" | "absolute"

The strategy to use for positioning

Default: "absolute"

transform?: boolean

Whether to use CSS transforms to position the floating element instead of layout (top and left CSS properties). CSS transforms are more performant, but can cause conflicts with transform animations.

Default: false

InlinePopover

ts
function InlinePopover(props: Partial<InlinePopoverProps> & HTMLAttributes<InlinePopover>): Element