Skip to content

docs(PowerSearch): define readable popover placement - #5804

Merged
cixzhang merged 1 commit into
mainfrom
docs/powersearch-popover-contract
Sep 1, 2026
Merged

docs(PowerSearch): define readable popover placement#5804
cixzhang merged 1 commit into
mainfrom
docs/powersearch-popover-contract

Conversation

@cixzhang

@cixzhang cixzhang commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Why

PowerSearch editor popovers currently stretch to the outer search width, which makes the small field/operator/value task harder to scan on wide filter bars. The editor also needs to stay near the exact control that opened it without adding callsite positioning API.

What

Records the accepted, current PowerSearch contract:

  • the editor prefers the outer PowerSearch width clamped to 400–720 CSS px; viewport collision remains authoritative
  • full-width and floor-expanded editors stay aligned to the outer PowerSearch
  • only a 720-capped editor chooses the nearer outer edge from the stable opening control: the inner input for add, or the activated token/control for edit; pointer and keyboard use the same control geometry
  • placement reads geometry once at open, commits while hidden, shows next frame, and stays latched until close
  • no public width, max-width, input-ref, or positioning prop is added; existing menuWidth remains the exact pixel width for the main field menu only

The contract depends on the current component:Tokenizer/DEC-1 authority landed by #5810 for the package-internal stable opening-control descriptor and safe fallback semantics.

Status

The contract is accepted and current (approved_by: cixzhang, approved_at: 2026-08-31), but this is not shipped behavior. Implementation remains pending, including real-Chromium story evidence for the 400/720 boundaries, start/end/tie controls, pointer and keyboard activation, LTR/RTL, narrow-viewport collision, opposite-side reopen, and no first-frame flash.

Risk

Documentation only. No runtime or public API changes. No Changeset.

Testing

  • pnpm check:knowledge
  • pnpm check:repo
  • pnpm exec prettier --check packages/core/src/PowerSearch/PowerSearch.spec.md
  • pnpm exec vitest run packages/core/src/PowerSearch/PowerSearch.test.tsx packages/core/src/PowerSearch/PowerSearchEditPopover.test.tsx packages/core/src/Tokenizer/Tokenizer.test.tsx packages/core/src/Typeahead/Typeahead.test.tsx (170 tests)

@vercel

vercel Bot commented Sep 1, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
astryx Ready Ready Preview Sep 1, 2026 1:54pm UTC

Request Review

@meta-cla meta-cla Bot added the CLA Signed This label is managed by the Meta Open Source bot. label Sep 1, 2026
@github-actions github-actions Bot added the spec-auto-merge Auto-merge was enabled by the spec owner gate label Sep 1, 2026
@cixzhang
cixzhang marked this pull request as draft September 1, 2026 04:15
@github-actions github-actions Bot removed the spec-auto-merge Auto-merge was enabled by the spec owner gate label Sep 1, 2026
@cixzhang
cixzhang force-pushed the docs/powersearch-popover-contract branch from 6f589d6 to f16c16b Compare September 1, 2026 04:26
@cixzhang
cixzhang force-pushed the docs/powersearch-popover-contract branch from f16c16b to 4784728 Compare September 1, 2026 13:49
@github-actions github-actions Bot added the needs:spec-owner-review Current knowledge records await owner approval label Sep 1, 2026
@cixzhang
cixzhang marked this pull request as ready for review September 1, 2026 14:06
@cixzhang

cixzhang commented Sep 1, 2026

Copy link
Copy Markdown
Contributor Author

/approve-spec 4784728

@cixzhang
cixzhang merged commit 306a120 into main Sep 1, 2026
28 of 29 checks passed
@github-actions github-actions Bot added spec-auto-merge Auto-merge was enabled by the spec owner gate and removed needs:spec-owner-review Current knowledge records await owner approval labels Sep 1, 2026
@github-actions
github-actions Bot deleted the docs/powersearch-popover-contract branch September 2, 2026 06:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Meta Open Source bot. spec-auto-merge Auto-merge was enabled by the spec owner gate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant