Widens `avoidCollisions` from `boolean` to `boolean | 'flip'` on the 6 overlays that expose it (combobox, context-menu, dropdown-menu, link-preview, select, tooltip) — the FloatingContent engine already decoupled flip from shift, so 'flip' (flip-only, no slide) works everywhere and lets an arrowless, non-shift overlay take the native CSS-anchor path. Additive: `boolean` is unchanged. - Public prop types + provider opts widened (types.ts + *-provider). JSDoc on the 3 descriptive ones (combobox/select/tooltip) documents the 3 modes; the terse `@default true` menu types keep their inline style (the type shows 'flip'). - Demos: the 4 that had an avoidCollisions checkbox (dropdown-menu, context-menu, link-preview, tooltip) now expose a 3-way full/flip/off control. Verified in a real foreground browser (Claude-in-Chrome): - dropdown-menu + avoidCollisions='flip' + no arrow → routes to NATIVE (data-floating-native, position-anchor link to trigger, zero JS transform, placed correctly). - context-menu correctly STAYS on JS with 'flip' — it anchors to the cursor (a Measurable), which the dispatcher's virtualAnchor gate forces to JS. The discriminator works as designed. - tooltip / link-preview 3-way controls render. 0 new check errors; 41 overlay + floating tests green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>menubar-v4-safe
parent
0a3e0ebf29
commit
557a410173
Loading…
Reference in new issue