Skip to content

[Popover / Positioner] Add prop to customize whether to flip or to shift when there's no more space #1546

Open
@benface

Description

@benface

Feature request

Summary

Again, this request is for Popover.Positioner, but it probably applies to the other Positioner components as well.

I noticed that when the popover reaches collisionPadding distance or less from the nearest collisionBoundary, it flips if there's enough space on the other side. That's nice, but it's not always the desired behavior. In my case, I would prefer if the popover was shifted instead, as I would rather keep the left side of the popover as close as possible to the trigger:

CleanShot.2025-03-07.at.16.06.26.mp4

Would it be possible to add a new prop to customize that behavior? Maybe something like collisionAvoidanceStrategy?: 'flip' | 'shift'?

Examples in other libraries

I believe @floating-ui itself has a few different strategies for avoiding collisions.

Motivation

Sorry, I don't know what to add that I haven't said above. :D Thank you very much!

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions